Evet, PHP-FPM memory limit hatasıyla karşılaştınız. Ama üzülmeyin! Bu hata oldukça yaygın ve aslında çözümü çok basit. Şimdi gelin, bu hatanın ne olduğunu, neden ortaya çıktığını ve nasıl çözebileceğinizi adım adım keşfedelim.
PHP-FPM Memory Limit Hatası Nedir?
PHP-FPM, her PHP işlemi için bir bellek sınırı belirler. Bu sınır, sunucunun genel performansını korumak amacıyla ayarlanmıştır. Eğer bu limit aşıldığında, PHP-FPM işlemi çökebilir ve siz de hatayı alırsınız.
Hata Neden Ortaya Çıkar?
1. Düşük Bellek Limiti Ayarları: Sunucunuzda PHP-FPM için belirlenen bellek limiti çok düşük olabilir. Özellikle büyük ve karmaşık web sitelerinde bu limit, yetersiz kalabilir.
2. Ağır PHP Kodları: Eğer web sitenizde çok fazla işlem veya veri işleyen PHP kodları varsa, bu kodlar bellek sınırını aşabilir. Özellikle büyük veri tabanı sorguları veya büyük dosya yüklemeleri gibi işlemler, bellek kullanımını arttırır.
3. Yüksek Trafik: Eğer web sitenize aynı anda çok fazla kullanıcı erişiyorsa, PHP-FPM işlemleri birbirini takip ederken bellek sınırını aşabilir.
PHP-FPM Memory Limit Hatası Çözümü
# 1. PHP-FPM Bellek Limitini Artırın
PHP-FPM konfigürasyon dosyasını açın ve aşağıdaki satırı bulun:
```ini
memory_limit = 128M
```
Bu satırı şu şekilde değiştirin:
```ini
memory_limit = 512M
```
Eğer çok büyük bir web siteniz varsa, limit değeri daha da yüksek olabilir. Bellek limitini artırdıktan sonra PHP-FPM servisini yeniden başlatmayı unutmayın:
```bash
sudo systemctl restart php-fpm
```
# 2. PHP.ini Dosyasını Düzenleyin
```ini
memory_limit = 256M
```
Yine, PHP-FPM'i yeniden başlatmayı unutmayın:
```bash
sudo systemctl restart php-fpm
```
# 3. Script Bazında Bellek Limitini Artırın
```php
ini_set('memory_limit', '512M');
```
Bu yöntem, sadece ilgili PHP dosyasının bellek limitini etkiler, diğer dosyalar için geçerli olmayacaktır.
# 4. Kodunuzu Optimize Edin
- Veritabanı sorgularını optimize edin.
- Gereksiz değişkenleri unset() ile temizleyin.
- Büyük dosya işlemleri için daha verimli yöntemler kullanın.
# 5. Sunucu Kaynaklarını Artırın
Sonuç
Başka bir hatayla karşılaştığınızda, doğru çözüme odaklanmak ve sisteminizi iyileştirmek her zaman en iyi yaklaşımdır. Unutmayın, web sunucusu yönetimi bir sanattır ve doğru adımlarla, her sorun çözülebilir.