Home  >  Q&A  >  body text

Nginx or php-fpm code file cache

Problems I encountered:

Nginx configurationAThe root directory of the project is a, and the a directory is soft linked to a1.
Later, after new code is released, a2 at the same level as a1 will be generated. The a directory also points to a2, but when accessing A# During the ## project, the code running result of a1 is still running. In theory, the code a2 should be executed at this time. Even after deleting the
a1 directory, the error message is still that some part of the code in the a1 directory is incorrect.

I suspect it’s

Nginx or php-fpm caching the code files?
OPCache, or Nginx, is there a configuration problem with php-fpm? Please ask God for answers.

伊谢尔伦伊谢尔伦2713 days ago874

reply all(3)I'll reply

  • PHP中文网

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

    Based on your description, I guess the problem lies in the fact that the opcache上。
    这里nginx应该是把目录a作为路径传递到了php-fpm中(通常的配置是这样的),
    opcache也是以路径作为缓存代码的Key,
    所以说虽然软连接指向的目录改变了,但是opcacherecognized directories are the same, so the directly cached files are used.

    It is recommended not to turn on code caching in the development environment, because currently opcacheit is not possible to check whether the file is updated every time. It can only be updated through functions or configuring the update time.

    reply
    0
  • 仅有的幸福

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

    mtjpmj

    reply
    0
  • 大家讲道理

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

    Configuration in php.ini:

    opcache.validate_timestamps=1
    opcache.revalidate_freq=0

    opcache will verify the modification timestamp of the PHP file every time. If the PHP file has been modified, opcache will re-cache the new PHP file opcode into the memory.

    reply
    0
  • Cancelreply