Linux Sunucularda php.ini Optimizasyonu ve Yapılandırması

PHP tabanlı web projeleriniz büyüdükçe veya daha fazla kaynak tüketen scriptler kullanmaya başladığınızda, standart PHP yapılandırması yetersiz kalabilir. PHP kurulduğunda varsayılan olarak gelen php.ini değerleri, temel sitelerin çalışması için idealdir ancak büyük dosya yüklemeleri, uzun süren işlemler veya yüksek bellek gereksinimleri için bu değerleri artırmanız gerekir.

Özellikle WordPress, Magento, PrestaShop gibi sistemlerde sıklıkla karşılaşılan bellek tükenmesi (memory exhausted) veya dosya yükleme (file upload) hatalarının çözümü, doğrudan php.ini dosyasının optimize edilmesinden geçer.

Bu rehberde, Linux VPS ve VDS sunucularınızda php.ini dosyanızı nasıl bulacağınızı ve en önemli parametreleri projenizin ihtiyaçlarına göre nasıl güncelleyeceğinizi adım adım inceleyeceğiz. Bu adımlar, cPanel, DirectAdmin veya Plesk panelleri fark etmeksizin temel Linux yapılandırması için geçerlidir.

1. php.ini Dosyasının Konumunu Tespit Etmek

Sunucunuzdaki kontrol paneline veya yapılandırmanıza bağlı olarak php.ini dosyasının yolu değişiklik gösterebilir. En sık kullanılan dizin genellikle şudur:


/usr/local/lib/php.ini

Eğer dosyanın tam yolundan emin değilseniz, SSH (Terminal) üzerinden sunucunuza bağlanarak aşağıdaki komutu çalıştırabilirsiniz. Bu komut, aktif PHP yapılandırma dosyasının tam yolunu size gösterecektir:


php -i | grep php.ini

Ekranınızda "Loaded Configuration File => /dosya/yolu/php.ini" benzeri bir çıktı görerek doğru dizini teyit edebilirsiniz.

2. Nano Editör ile php.ini Dosyasını Düzenlemek

Dosya yolunu öğrendikten sonra, Linux ortamında sıkça kullanılan bir metin düzenleyici olan nano yardımıyla dosyamızı açıyoruz. (Aşağıdaki komutta kendi dosya yolunuzu kullanmayı unutmayın).


nano -w /usr/local/lib/php.ini

Dosya açıldıktan sonra Ctrl + W tuş kombinasyonunu kullanarak aramak istediğiniz parametreyi hızlıca bulabilirsiniz.

3. Temel php.ini Parametreleri ve Optimizasyonu

Aşağıda, sunucu performansınızı ve scriptlerinizin sorunsuz çalışmasını sağlamak için düzenlemeniz gereken en kritik değerler ve açıklamaları yer almaktadır. Bu değerleri sunucunuzun RAM kapasitesine ve yazılımınızın gereksinimlerine göre artırmalısınız.

Ini, TOML

; PHP'nin kabul edeceği maksimum POST verisi boyutu.
; Formlar aracılığıyla gönderilen (örneğin büyük resim veya video yüklemeleri) toplam veri sınırını belirler.
post_max_size = 50M
 
; Sisteme yüklenebilecek tek bir dosyanın maksimum boyutu.
; post_max_size değerinden büyük olmamasına dikkat edin.
upload_max_filesize = 50M
 
; URL'lerin (http:// veya ftp:// gibi) sanki yerel dosyalarmış gibi kullanılmasına izin verir.
; Uzak bir sunucudan veri çekecek scriptler için "On" konumunda olmalıdır.
allow_url_fopen = On
 
; Bir scriptin çalışabileceği maksimum süredir (saniye cinsinden).
; Çok uzun süren veritabanı sorguları veya dosya yüklemeleri yarım kalıyorsa bu değeri artırabilirsiniz.
max_execution_time = 40
 
; Bir scriptin istek verilerini (GET, POST gibi) analiz etmesi için izin verilen maksimum süredir (saniye).
max_input_time = 80
 
; PHP scriptlerinizde kullanılabilecek maksimum giriş (input) değişkeni sayısı.
; Genellikle e-ticaret sitelerinde geniş ürün kategorileri güncellenirken bu sınırın artırılması istenir.
max_input_vars = 4000

; Bir PHP scriptinin tüketebileceği maksimum bellek miktarı.
; "Memory limit exhausted" hatalarının önüne geçmek için bu değeri artırmalısınız.
memory_limit = 200M

Önemli İpucu: Değerleri değiştirirken oranlara dikkat etmelisiniz. Genellikle ideal hiyerarşi şu şekildedir: memory_limit > post_max_size > upload_max_filesize

4. Değişiklikleri Kaydetmek ve Servisleri Yeniden Başlatmak

Düzenlemelerinizi tamamladıktan sonra, nano editöründe dosyayı kaydetmek için Ctrl + O'ya basıp Enter ile onaylayın. Ardından Ctrl + X ile çıkış yapın.

Yaptığınız php.ini değişikliklerinin sunucunuzda aktif olabilmesi için web sunucunuzu yeniden başlatmanız zorunludur. Kullandığınız web sunucusu servisine göre aşağıdaki komutlardan uygun olanı çalıştırın:

Apache için:


service httpd restart

Nginx ve PHP-FPM kullanıyorsanız (ilgili PHP sürümüne göre komut değişebilir):


service nginx restart && service php-fpm restart

Bu adımların ardından DoğruHost sunucunuzdaki PHP limitleriniz güncellenmiş ve daha yüksek kaynak gerektiren projeleriniz için hazır hale gelmiş olacaktır. Daha fazla detay ve diğer PHP yapılandırma direktifleri için resmi PHP dokümantasyonunu inceleyebilirsiniz.

Let’s get started

Choose the hosting provider who makes it easy and fast to create websites. Completely risk free with our 30-day money back guarantee.