Rumah > Soal Jawab > teks badan
Konfigurasi NginxA
项目的root目录是a
,a
目录软链到a1
。
后来发布新代码后,会生成和a1
同级的a2
,a目录也指到了a2
,但是在访问A
项目的时候,运行的还是a1
的代码运行结果,理论上此时应该执行的是a2
代码才对。
甚至把a1
目录删了,报错内容都还是a1
Beberapa kod dalam direktori tidak betul.
Saya mengesyaki bahawa Nginx atau php-fpm menyimpan cache fail kod?
OPCache, atau Nginx, php-fpmAdakah terdapat sebarang masalah konfigurasi?
Tolong minta jawapan kepada Tuhan.
PHP中文网2017-05-16 17:16:57
Berdasarkan penerangan anda, saya rasa masalahnya terletak pada opcache
.
Di sini nginx harus menghantar direktori a
sebagai laluan ke php-fpm (konfigurasi biasa adalah seperti ini),
dan opcache
juga menggunakan laluan sebagai laluan Kekunci kod cache,
Jadi, walaupun direktori yang ditunjuk oleh pautan lembut telah berubah, direktori yang diiktiraf oleh opcache
adalah sama, jadi fail cache terus digunakan. opcache
上。
这里nginx应该是把目录a
作为路径传递到了php-fpm中(通常的配置是这样的),
而opcache
也是以路径作为缓存代码的Key,
所以说虽然软连接指向的目录改变了,但是opcache
识别到的目录是一样的,所以使用了直接缓存的文件。
建议在开发环境中,不要开启代码缓存,因为目前opcache
opcache
tidak boleh menyemak sama ada fail dikemas kini setiap kali, dan hanya boleh dikemas kini melalui fungsi atau mengkonfigurasi masa kemas kini. 🎜大家讲道理2017-05-16 17:16:57
Tatarajah dalam php.ini:
opcache.validate_timestamps=1
opcache.revalidate_freq=0
opcache akan mengesahkan cap waktu pengubahsuaian fail PHP setiap kali Jika fail PHP telah diubah suai, opcache akan meng-cache semula opcode fail PHP yang baharu ke dalam memori.