Bunun bir MAMP problemi olduğunu anlamam çok uzun sürdü! Web sitelerini test etmek için kullanılması beklenen bir uygulamada neden OPcache varsayılan olarak etkinleştirilir ve devre dışı bırakılması için php.ini'nin düzeltilmesi gerekir? Her neyse, tüm bu konuyu okudum ve çeşitli çözümleri denedim.
İşte her çözümün nasıl çalıştığına dair notlarım ve bir çözüm seçerken dikkate alınması gereken noktalar.
Her çözüm kendi başına çalışır; yedekliliğe gerek yok.
Web sayfası kodu çözümü
opcache_reset ();
<?php opcache_reset(); ?>
- Web sayfası koduna eklenmelidir.
- Tüm komut dosyalarını yeniden yüklenmeye zorlar.
- MAMP sunucusunu yeniden başlatmadan çalışır.
Sunucu yapılandırma çözümleri
Önemli:php.ini
Dosyayı içinde /Applications/MAMP/bin/php/php5.5.3/conf/php.ini
değil içinde
kullanın /Applications/MAMP/conf/php5.5.3/php.ini
. PHP'nin farklı bir sürümünü kullanıyorsanız buna göre ayarlayın.
etkinleştirme = 0
[OPcache]
zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
enable=0
- Altında eklenmelidir
[OPcache]
içinde php.ini
.
- OPcache'yi devre dışı bırakır.
- MAMP sunucusunun yeniden başlatılmasını gerektirir.
opcache.revalidate_freq = 0
[OPcache]
zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=0
opcache.fast_shutdown=1
opcache.enable_cli=1
- Değiştir
opcache.revalidate_freq
altında [OPcache]
yer php.ini
.
- OPcache'nin güncellemeleri 60 saniye yerine her 0 saniyede bir kontrol etmesini sağlar.
- MAMP sunucusunun yeniden başlatılmasını gerektirir.
Yorum yapma [OPcache]
;[OPcache]
;zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
;opcache.memory_consumption=128
;opcache.interned_strings_buffer=8
;opcache.max_accelerated_files=4000
;opcache.revalidate_freq=60
;opcache.fast_shutdown=1
;opcache.enable_cli=1
[OPcache]
Bölümünün tamamını yorumlayın php.ini
.
- OPcache'yi PHP sunucusundan kaldırır.
- MAMP sunucusunun yeniden başlatılmasını gerektirir.
hususlar
Aşağıdaki durumlarda web sayfası kodu çözümünü seçin:
- Sadece belirli bir proje için komut dosyasını yenilemeye zorlamanız gerekir
- MAMP sunucusunu yeniden başlatmak istemiyorsunuz
- Php.ini'yi düzenlemek istemezsiniz
Aşağıdaki durumlarda bir sunucu yapılandırma çözümü seçin:
- Her projede yapmak zorunda kalmadan önbelleğe almayı varsayılan olarak devre dışı bırakmak istiyorsunuz
- Php.ini'yi düzenleme konusunda rahatsınız
Benim enable=0
için en basit çözüm olduğu için kişisel olarak tercih ediyorum ve varsayılan olarak önbelleğe almayı devre dışı bırakmam gerekiyor.
Referanslar