PHP sürümü ve ayarlarını değiştirme

Paylaşımlı hosting ve sanal sunucuda PHP ayarları için adım adım rehber: PHP sürümünü değiştirme, memory_limit ve upload_max_filesize değerlerini artırma, gerekli eklentileri etkinleştirme ve yaygın hataları giderme.

6 dk Güncellendi 2 Aug 2026

PHP Ayarları Neden Siteniz İçin Hayati Öneme Sahiptir?

Birçok WordPress, Joomla ve diğer içerik yönetim sistemi siteleri PHP tabanlı çalışır. Eğer daha önce Fatal Error: Allowed Memory Size Exhausted veya Upload: Failed to Write File to Disk hatasıyla karşılaştıysanız, sorunun kökeni yanlış PHP ayarlarındadır. Bu makalede, pratik bir şekilde ve gerçek örneklerle, PHP sürümünü değiştirme, bellek limitini (memory_limit) ve yükleme boyutunu (upload_max_filesize) artırma ve gerekli eklentileri etkinleştirme adımlarını öğreteceğiz. Bu kılavuz, paylaşımlı hosting (cPanel veya DirectAdmin) ve sanal sunucu (VPS) kullanıcıları için geçerlidir.

PHP Sürümünü Değiştirme: Neden ve Nasıl?

Her PHP sürümü farklı özelliklere, güvenlik iyileştirmelerine ve uyumluluğa sahiptir. Örneğin, WordPress 6, PHP 7.4 veya üstünü gerektirir. Eski betikler kullanıyorsanız, daha yeni sürümlerle hatalarla karşılaşabilirsiniz. Aşağıda iki yaygın yöntemi inceleyeceğiz.

Paylaşımlı Hostingde (cPanel) PHP Sürümünü Değiştirme

  1. Hesabınızın cPanel'ine giriş yapın.
  2. Software bölümüne gidin ve Select PHP Version seçeneğini seçin.
  3. Açılır menüden istediğiniz sürümü (örneğin 8.1 veya 8.2) seçin.
  4. Set as current butonuna tıklayın.
  5. Aynı sayfada etkin eklentileri işaretleyebilir veya işaretlerini kaldırabilirsiniz.

Önemli Not: Siteniz eski kodlar kullanıyorsa, önce test ortamında (staging) deneyin. PHP sürümünü aniden değiştirmek Beyaz Ekran (White Screen of Death) hatasına neden olabilir.

Sanal Sunucuda (VPS) Nginx ile PHP Sürümünü Değiştirme

Nginx ve PHP-FPM kullanan sanal sunucularda, site yapılandırma dosyasını düzenlemeniz gerekir. Mevcut PHP sürümünün 7.4 olduğunu ve PHP 8.1'e geçmek istediğinizi varsayalım:

# Önce yeni sürümü yükleyin (Ubuntu/Debian'da)
sudo apt update
sudo apt install php8.1-fpm php8.1-mysql php8.1-xml php8.1-mbstring

# Ardından site yapılandırma dosyasını düzenleyin
sudo nano /etc/nginx/sites-available/example.com

# Aşağıdaki satırı bulun ve sürümü değiştirin:
# fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# Şu şekilde:
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;

# Kaydettikten sonra Nginx'i yeniden başlatın
sudo systemctl restart nginx
sudo systemctl restart php8.1-fpm

Yaygın Hata: Değişiklikten sonra yeni PHP-FPM servisini etkinleştirmeyi (sudo systemctl enable php8.1-fpm) ve eski servisi devre dışı bırakmayı unutmayın.

memory_limit ve upload_max_filesize Değerlerini Artırma

PHP ayarlarında site performansını doğrudan etkileyen iki anahtar parametre memory_limit ve upload_max_filesize'dir. Allowed Memory Size Exhausted gibi yaygın hatalar genellikle düşük memory_limit değerinden kaynaklanır.

Birinci Yöntem: php.ini Dosyasını Düzenleme (Root Erişimi)

Sunucuya root erişiminiz varsa, php.ini dosyasını bulun. Ubuntu/Debian'da genel yol:

sudo nano /etc/php/8.1/fpm/php.ini

Ardından aşağıdaki değerleri arayın ve değiştirin:

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 68M  # upload_max_filesize değerinden biraz büyük olmalı
max_execution_time = 300
max_input_time = 300

Kaydettikten sonra PHP-FPM servisini yeniden başlatın:

sudo systemctl restart php8.1-fpm

İkinci Yöntem: .htaccess Dosyasını Kullanma (Paylaşımlı Hosting)

php.ini'ye erişiminizin olmadığı paylaşımlı hostinglerde .htaccess dosyasını kullanabilirsiniz. Bu yöntem Apache için geçerlidir:

# memory_limit artırma
php_value memory_limit 256M

# Yükleme boyutunu artırma
php_value upload_max_filesize 64M
php_value post_max_size 68M

# Çalışma süresini artırma
php_value max_execution_time 300

Bu satırları sitenizin kök dizinindeki .htaccess dosyasının sonuna ekleyin. Dosya yoksa oluşturun.

Yaygın Hata: Bazı kullanıcılar post_max_size değerini upload_max_filesize değerinden düşük ayarlar ve bu yükleme hatasına neden olur. Her zaman post_max_size değerini upload_max_filesize değerinden 2-4 MB daha büyük yapın.

Üçüncü Yöntem: wp-config.php Dosyasını Kullanma (WordPress)

WordPress'te ayarları doğrudan wp-config.php dosyasında uygulayabilirsiniz. Bu satırları /* That's all, stop editing! */ satırından önce ekleyin:

define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M'); // Yönetim sayfaları için

Bu yöntem yalnızca WordPress'i etkiler, diğer betikler için çalışmaz.

Gerekli PHP Eklentilerini Etkinleştirme

Eklenti veya tema kurulum hatalarının çoğu, PHP eklentilerinin devre dışı olmasından kaynaklanır. Aşağıda en önemli eklentileri tanıtıyoruz.

WordPress ve Joomla için Yaygın Eklentiler

  • mysqli: MySQL/MariaDB veritabanına bağlanmak için.
  • curl: Harici API'lerle iletişim ve otomatik güncellemeler için.
  • gd veya imagick: Görüntü işleme (küçük resim oluşturma, boyut değiştirme) için.
  • mbstring: Çok baytlı karakter desteği (Farsça, Arapça) için.
  • xml ve simplexml: RSS ve XML beslemelerini işlemek için.
  • zip: ZIP dosyası yükleme yoluyla eklenti ve tema kurulumu için.
  • openssl: Güvenli bağlantılar (SSL/TLS) için.

cPanel'de Eklenti Etkinleştirme

Select PHP Version bölümünde, PHP sürümünü seçtikten sonra eklenti listesini göreceksiniz. İhtiyacınız olan eklentileri işaretleyin ve Save butonuna tıklayın. Genellikle yeniden başlatma gerekmez.

Sanal Sunucuda Eklenti Etkinleştirme (Komut Satırı)

Ubuntu/Debian'da eklenti yüklemek için:

sudo apt install php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip
sudo systemctl restart php8.1-fpm

Etkin eklentileri kontrol etmek için aşağıdaki içerikle bir info.php dosyası oluşturun:

<?php
phpinfo();
?>

Ardından tarayıcıda açın ve Loaded Configuration File ile Extensions bölümlerini inceleyin. İşiniz bittiğinde, sunucu bilgilerinin sızmasını önlemek için bu dosyayı mutlaka silin.

Yaygın PHP Ayar Hatalarını Giderme

Bu bölümde en yaygın hataları ve çözümlerini ele alıyoruz.

"Fatal Error: Allowed Memory Size of X Bytes Exhausted" Hatası

Bu hata, memory_limit değerinin yetersiz olduğunu gösterir. Varsayılan değer genellikle 32M veya 64M'dir. Bunu 128M veya 256M'ye yükseltin. Sorun devam ederse, sorunlu bir eklenti veya tema belleği tüketiyor olabilir.

"Upload: Failed to Write File to Disk" Hatası

Bu hata genellikle düşük upload_max_filesize veya post_max_size değerlerinden kaynaklanır. Ayrıca /tmp klasörü dolu olabilir. df -h komutuyla disk alanını kontrol edin.

"Headers Already Sent" Hatası

Bu hata, header() fonksiyonundan önce çıktı (boşluk veya BOM gibi) gönderildiğinde oluşur. PHP dosyalarını uygun bir düzenleyiciyle (VS Code veya Notepad++ gibi) kaydedin ve BOM (Byte Order Mark) kullanmayın.

PHP Ayarlarında Güvenlik İpuçları

PHP ayarlarını uyguladıktan sonra aşağıdaki güvenlik önlemlerine mutlaka dikkat edin:

  • Üretim ortamında hata görüntülemeyi devre dışı bırakın: php.ini dosyasında display_errors = Off ve log_errors = On olarak ayarlayın.
  • Tehlikeli fonksiyonları sınırlayın: disable_functions ile exec(), system() ve shell_exec() gibi fonksiyonları devre dışı bırakın.
  • open_basedir kullanın: PHP'nin belirli dizinlere erişimini sınırlayın.

Paylaşımlı hostingde bu ayarları uygulamak için genellikle destek ekibiyle iletişime geçmeniz gerekir. Sanal sunucuda doğrudan php.ini dosyasını düzenleyebilirsiniz.

Özet

Bu makalede, PHP sürümünü değiştirme, memory_limit ve upload_max_filesize değerlerini artırma ve gerekli eklentileri etkinleştirme adımlarını pratik bir şekilde öğrettik. Bu ayarları uygulayarak yaygın hataları önleyebilir ve sitenizin performansını artırabilirsiniz. Paylaşımlı hosting kullanıyorsanız ve gelişmiş ayarlara erişiminiz yoksa, en son PHP sürümlerini destekleyen ServerNet web hosting hizmetlerinden yararlanabilirsiniz. Değişiklik yapmadan önce her zaman site dosyalarınızın ve veritabanınızın yedeğini almayı unutmayın.

Bu sayfa yardımcı oldu mu?