Menginstal MAMP di Macbook baru dengan PHP 5.5.3.
Muat ulang dan segarkan tidak melakukan apa pun. Tetap tidak ada. Google berkeliling selama beberapa menit mencoba mencari tahu apa yang salah, kembali dan segarkan. Berhasil. Apa apaan?
Saya masuk ke php.ini dan menonaktifkan semua OPcache baru dan mengatur waktu cache default ke 0. Menambahkan header ke dokumen untuk memaksa tidak ada cache. Masih masalah yang sama. Apa yang sebenarnya terjadi disini?
Tab jaringan menunjukkan permintaan HTTP 200, jadi HTML baru apa pun dalam index.php
file akan baik-baik saja, tetapi PHP baru yang perlu dirender oleh server ditunda dan tidak ditampilkan sampai beberapa set waktu yang telah ditentukan berlalu yang saya tidak tahu caranya Untuk mengganti. Apa yang sedang terjadi?
Saya memeriksa ini di Safari juga jadi ini jelas merupakan hal server yang menjaga file agar tidak dirender.
Fakta yang menarik, jika saya masuk ke MAMP dan mengubah versi PHP ke yang lama (PHP 5.2 atau sesuatu) itu akan membuat secara normal, tanpa "masalah caching". Beralih ke PHP 5.5 dan itu menutup. Dalam preferensi MAMP pilihan caching untuk 5.5 bahkan tidak ada dan secara otomatis dinonaktifkan.
Jawaban:
Nonaktifkan OPCache
MAMP sekarang mengaktifkan OPCache secara default, Anda dapat menonaktifkannya dengan mengedit file php.ini Anda. Pastikan Anda mengedit php.ini yang benar.
Saya sendiri mengalami masalah yang sama. MAMP dengan PHP versi 5.5.3 menjalankan OPcache secara default, tetapi Anda tidak dapat mematikannya di GUI seperti yang Anda bisa dengan PHP versi 5.2.17 yang lebih lama. Anda harus mengomentari secara manual semua baris OPcache di akhir file php.ini (MAMP / bin / php / [versi] /conf/php.ini) dan pastikan untuk menghentikan dan memulai server agar perubahan dilakukan efek.
Saya memperbarui URI, perubahan dapat direfleksikan dengan juga mengubah / conf / di bawah folder php, tetapi tampaknya MAMP akan mengabaikan ini setelah restart .
sumber
php.ini
file yang ingin Anda edit ada di / bin, bukan di / conf. Jalan lengkap saya adalah/Applications/MAMP/bin/php/php5.5.3/conf/php.ini
.Saya menambahkan opcache_reset (); di PHP utama saya untuk menghentikan caching ini.
Menghapusnya dari
php5.5.3/conf/php.ini
tidak melakukan apa-apa bagi saya.Sunting
Ternyata ada juga a
/Applications/MAMP/bin/php/php5.5.3/conf/php.ini
. Ini berhasil jika saya mengomentarinya di luar sana.sumber
/Applications/MAMP/bin/php/php5.5.3/conf/php.ini
tidak melakukan apa-apa, selain menambahkanopcache_reset();
keindex.php
berhasil.1) di /Applications/MAMP/bin/php/php5.5.3/conf/php.ini
2) set opcache.revalidate_freq = 0
3) mulai ulang MAMP
sumber
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 ();
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]
di bawahphp.ini
.opcache.revalidate_freq = 0
opcache.revalidate_freq
bawah .[OPcache]
php.ini
Mengomentari [OPcache]
[OPcache]
bagian dalamphp.ini
.Pertimbangan
Pilih solusi kode halaman web jika:
Pilih solusi konfigurasi server jika:
Saya pribadi lebih suka
enable=0
karena ini adalah solusi paling sederhana untuk saya, dan saya perlu caching dinonaktifkan secara default.Referensi
sumber
Sepertinya ini akhirnya menjadi opsi GUI.
MAMP 3.0.7.2 for Mac OS X
.sumber
Sungguh menyakitkan menghabiskan sekitar 1 jam mencoba mencari tahu apa itu.
Saya baru saja menambahkan ini di akhir kode dan memulai ulang MAMP.
sumber
Edit "/Applications/MAMP/conf/php5.5.3/php.ini", dan cari [OPcache] dan tambahkan kode ini langsung di bawahnya:
Ini akan menonaktifkan opcache saat menggunakan PHP di server MAMP.
sumber
Ya ampun, saya senang saya menemukan utas ini! Saya menarik rambut saya! Saya baru saja memutakhirkan MAMP kemarin dan tidak melihat masalah caching ini hingga hari ini saat mengerjakan sebuah proyek. Pikir saya kehilangan akal. Saya baru saja mengubah "/Applications/MAMP/conf/php5.5.3/php.ini" paling bawah dari file opcache.enable = 0
sumber
Ini juga berlaku di MAMP versi Windows juga.
Ini tercantum di bagian paling bawah file.
Masalah lain yang saya temukan, ada di QNAP NAS TS-431. Caching ini juga diaktifkan, dan jika Anda bekerja dengan file yang berubah secara dinamis, atau mencoba mengembangkannya, Anda akan merobek rambut Anda. Sesuai komentar lainnya, beri komentar saja. Pengaturannya terletak di:
Sekali lagi, Anda akan menemukan pengaturan di bagian bawah file.
sumber