Nginx configurationA
The 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.
Nginx or php-fpm caching the code files?
OPCache, or Nginx, is there a configuration problem with php-fpm? Please ask God for answers.
小伙看你根骨奇佳,潛力無限,來學(xué)PHP伐。
Based on your description, I guess the problem lies in the fact that the opcache
上。
這里nginx應(yīng)該是把目錄a
作為路徑傳遞到了php-fpm中(通常的配置是這樣的),
而opcache
也是以路徑作為緩存代碼的Key,
所以說雖然軟連接指向的目錄改變了,但是opcache
recognized 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 opcache
it is not possible to check whether the file is updated every time. It can only be updated through functions or configuring the update time.
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.