Butuh waktu lama bagi saya untuk mengetahui bahwa itu adalah masalah MAMP! Mengapa OPcache diaktifkan secara default - dan memerlukan php.ini mengutak-atik untuk menonaktifkan - di aplikasi yang seharusnya digunakan untuk menguji situs web? Bagaimanapun, saya membaca seluruh utas ini dan mencoba berbagai solusi.
Berikut adalah catatan saya tentang cara kerja setiap solusi dan pertimbangan untuk memilih solusi.
Setiap solusi bekerja dengan sendirinya; tidak perlu redundansi.
Solusi kode halaman web
opcache_reset ();
<?php opcache_reset(); ?>
- Harus ditambahkan dalam kode halaman web.
- Memaksa semua skrip untuk dimuat ulang.
- Bekerja tanpa memulai ulang server MAMP.
Solusi konfigurasi server
Penting: Gunakan php.ini
file dalam /Applications/MAMP/bin/php/php5.5.3/conf/php.ini
dan bukan dalam
/Applications/MAMP/conf/php5.5.3/php.ini
. Sesuaikan seperlunya jika Anda menggunakan versi PHP yang berbeda.
aktifkan = 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
- Harus ditambahkan
[OPcache]
di bawah php.ini
.
- Menonaktifkan OPcache.
- Memerlukan restart server MAMP.
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
- Ubah di
opcache.revalidate_freq
bawah .[OPcache]
php.ini
- Membuat OPcache memeriksa pembaruan setiap 0 detik, bukan setiap 60 detik.
- Memerlukan restart server MAMP.
Mengomentari [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
- Komentari seluruh
[OPcache]
bagian dalam php.ini
.
- Menghapus OPcache dari server PHP.
- Memerlukan restart server MAMP.
Pertimbangan
Pilih solusi kode halaman web jika:
- Anda hanya perlu memaksa penyegaran skrip untuk proyek tertentu
- Anda tidak ingin memulai ulang server MAMP
- Anda tidak ingin mengedit php.ini
Pilih solusi konfigurasi server jika:
- Anda ingin menonaktifkan caching secara default daripada harus melakukannya di setiap proyek
- Anda nyaman mengedit php.ini
Saya pribadi lebih suka enable=0
karena ini adalah solusi paling sederhana untuk saya, dan saya perlu caching dinonaktifkan secara default.
Referensi