VPS sunucularında PHP tabanlı web uygulamalarını yönetirken, PHP memory limit ayarı kritik bir rol oynar. Bu ayar, bir PHP betiğinin kullanabileceği maksimum bellek miktarını belirler ve varsayılan değeri genellikle 128 MB olarak gelir. Özellikle WordPress, Joomla gibi içerik yönetim sistemleri veya veri yoğun scriptler çalıştıran sitelerde, yetersiz bellek tahsisi hatalara yol açabilir. Bu makalede, VPS ortamında PHP memory limitini etkili bir şekilde kontrol etme, artırma ve optimize etme yöntemlerini adım adım ele alacağız. Bu bilgilerle, sunucunuzun performansını artırarak kesintisiz hizmet sağlayabilirsiniz.
VPS sunucunuzda mevcut PHP memory limitini belirlemek, sorun gidermenin ilk adımıdır. Bu değeri öğrenmek için birden fazla yöntem kullanabilirsiniz, böylece farklı senaryolara göre doğrulama yaparsınız. Kontrol işlemi, sunucu erişiminize göre panel tabanlı veya komut satırı üzerinden gerçekleştirilir.
phpinfo() fonksiyonu, PHP yapılandırmasının tam bir özetini sunar. Basit bir PHP dosyası oluşturun, örneğin info.php adında bir dosya yükleyin ve içine <?php phpinfo(); ?> kodunu yazın. Tarayıcıdan bu dosyayı çağırdığınızda, “memory_limit” satırında mevcut değeri göreceksiniz. Bu yöntem, web tabanlı uygulamalar için idealdir ve ek araç gerektirmez. Değeri “128M” gibi gösterir; “Unlimited” ise sınırsız anlamına gelir. Kontrol sonrası dosyayı silmeyi unutmayın, güvenlik açısından önemlidir. Bu işlemle, sitenizin gerçek çalışma koşullarını doğrudan gözlemleyebilirsiniz.
SSH erişiminiz varsa, terminalde php -i | grep memory_limit komutunu çalıştırın. Bu, anında “memory_limit => 128M => 128M” gibi bir çıktı verir. VPS sağlayıcınızın PHP sürümüne göre php7.4 -i gibi spesifik versiyon belirtebilirsiniz. Bu yöntem, sunucu genel ayarlarını yansıtır ve hızlı teşhis için vazgeçilmezdir. Eğer birden fazla PHP sürümü yüklüyse, doğru olanı seçmek performans sorunlarını önler.
Memory limitini artırmak, VPS kaynaklarınızı verimli kullanmanızı sağlar. Değişiklikler, global php.ini dosyası üzerinden veya yerel dosyalarla yapılabilir. Her yöntemin avantajı farklıdır: global ayarlar tüm siteleri etkilerken, yerel ayarlar esneklik sunar. Değişiklik sonrası Apache veya Nginx’i yeniden başlatmayı ihmal etmeyin.
Sunucunuzda /etc/php/7.4/apache2/php.ini yolunu bulun (sürümünüze göre değişir). memory_limit = 256M satırını bulun ve değeri artırın, örneğin 512M yapın. Kaydetyip sudo systemctl restart apache2 komutunu çalıştırın. Bu global değişiklik, VPS’teki tüm PHP süreçlerini kapsar. VPS’in toplam RAM’ini göz önünde bulundurun; örneğin 2 GB RAM’li bir sunucuda 512M güvenli bir üst sınırdır. Değişiklikleri phpinfo ile doğrulayın.
Public_html klasöründeki .htaccess dosyasına php_value memory_limit 256M ekleyin. Bu, dizin bazlı ayarlar için uygundur ve php.ini’ye erişim olmadan çalışır. Alternatif olarak, script başında ini_set('memory_limit', '256M'); kullanın. WordPress için wp-config.php’ye ini_set('memory_limit','512M'); ekleyin. Bu yöntemler, paylaşımlı hosting benzeri esneklik sağlar ancak sunucu modüllerinin (mod_php) etkin olması şarttır.
Memory limitini artırmak kadar, kullanımını optimize etmek ve izlemek de önemlidir. Aşırı bellek tüketimi, sunucu çökmelerine yol açabilir. Düzenli izleme ile proaktif önlemler alın.
Scriptlerinizi optimize edin: Gereksiz döngüleri kaldırın, büyük dizileri unset() ile temizleyin. Örneğin, bir veri işleme scriptinde unset($buyukDizi); kullanarak belleği serbest bırakın. Eklentileri güncelleyin ve önbellekleme araçları (Redis, Memcached) entegre edin. VPS’te top veya htop ile PHP süreçlerini izleyin; memory_limit aşıldığında “Allowed memory size exhausted” hatası alırsınız. Bu yaklaşımlar, limit artırmadan önce tüketimi %30-50 azaltabilir.
New Relic veya Munin gibi araçları kurun. VPS panelinizde (örneğin CyberPanel) entegre log izleyicileri kullanın. Haftalık raporlarla memory piklerini analiz edin ve limitleri buna göre ayarlayın. Otomatik scriptlerle günlük kontroller ekleyin, örneğin cron job ile phpinfo çıktısını loglayın. Bu, ölçeklenebilirlik sağlar ve beklenmedik kesintileri önler.
PHP memory limitini yönetmek, VPS sunucunuzun kararlılığını doğrudan etkiler. Yukarıdaki adımları uygulayarak, uygulamalarınızın sorunsuz çalışmasını sağlayın. Her zaman sunucu kaynaklarınızı dengeli kullanın ve düzenli testler yapın. Bu proaktif yaklaşım, iş sürekliliğinizi güçlendirir ve kullanıcı deneyimini üst seviyeye taşır.