Maison  >  Questions et réponses  >  le corps du texte

Cache de fichiers de code Nginx ou php-fpm

Problèmes que j'ai rencontrés :

Configuration NginxA项目的root目录是aa目录软链到a1
后来发布新代码后,会生成和a1同级的a2,a目录也指到了a2,但是在访问A项目的时候,运行的还是a1的代码运行结果,理论上此时应该执行的是a2代码才对。
甚至把a1目录删了,报错内容都还是a1 Certains codes du répertoire sont incorrects.

Je soupçonne que Nginx ou php-fpm met en cache les fichiers de code ?
OPCache, ou Nginx, php-fpmY a-t-il un problème de configuration ?
Veuillez demander des réponses à Dieu.

伊谢尔伦伊谢尔伦2713 Il y a quelques jours881

répondre à tous(3)je répondrai

  • PHP中文网

    PHP中文网2017-05-16 17:16:57

    D'après votre description, je suppose que le problème vient de opcache.
    Ici, nginx devrait passer le répertoire a comme chemin vers php-fpm (la configuration habituelle est comme ceci),
    et opcache utilise également le chemin comme la clé de chemin du code du cache,
    Ainsi, bien que le répertoire pointé par le lien symbolique ait changé, le répertoire reconnu par opcache est le même, donc le fichier directement mis en cache est utilisé. opcache上。
    这里nginx应该是把目录a作为路径传递到了php-fpm中(通常的配置是这样的),
    opcache也是以路径作为缓存代码的Key,
    所以说虽然软连接指向的目录改变了,但是opcache识别到的目录是一样的,所以使用了直接缓存的文件。

    建议在开发环境中,不要开启代码缓存,因为目前opcache

    Il est recommandé de ne pas activer la mise en cache du code dans l'environnement de développement, car actuellement opcache ne peut pas vérifier si le fichier est mis à jour à chaque fois et ne peut être mis à jour que via des fonctions ou en configurant l'heure de mise à jour. 🎜

    répondre
    0
  • 仅有的幸福

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

    mtjpmj

    répondre
    0
  • 大家讲道理

    大家讲道理2017-05-16 17:16:57

    Configuration dans php.ini :

    opcache.validate_timestamps=1
    opcache.revalidate_freq=0

    opcache vérifiera l'horodatage de modification du fichier PHP à chaque fois. Si le fichier PHP a été modifié, opcache remettra en cache le nouvel opcode du fichier PHP dans la mémoire.

    répondre
    0
  • Annulerrépondre