Rumah  >  Soal Jawab  >  teks badan

Cache fail kod Nginx atau php-fpm

Masalah yang saya hadapi:

Konfigurasi NginxA项目的root目录是aa目录软链到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.

伊谢尔伦伊谢尔伦2713 hari yang lalu880

membalas semua(3)saya akan balas

  • PHP中文网

    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

    Adalah disyorkan untuk tidak mendayakan caching kod dalam persekitaran pembangunan, kerana pada masa ini opcache tidak boleh menyemak sama ada fail dikemas kini setiap kali, dan hanya boleh dikemas kini melalui fungsi atau mengkonfigurasi masa kemas kini. 🎜

    balas
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 17:16:57

    mtjpmj

    balas
    0
  • 大家讲道理

    大家讲道理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.

    balas
    0
  • Batalbalas