Nginx 또는 php-fpm 코드 파일 캐시
伊谢尔伦
伊谢尔伦 2017-05-16 17:14:57
0
3
923

내가 겪은 문제:

Nginx 구성A项目的root目录是aa目录软链到a1
后来发布新代码后,会生成和a1同级的a2,a目录也指到了a2,但是在访问A项目的时候,运行的还是a1的代码运行结果,理论上此时应该执行的是a2代码才对。
甚至把a1目录删了,报错内容都还是a1 디렉터리의 일부 코드가 잘못되었습니다.

Nginx 또는 php-fpm이 코드 파일을 캐시하는 것 같은데요?
OPCache, 또는 Nginx, php-fpm구성에 문제가 있나요?
하나님께 답을 구해보세요.

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

모든 응답(3)
洪涛

귀하의 설명에 따르면 문제는 opcache에 있는 것 같습니다.
여기서 nginx는 a 디렉토리를 php-fpm에 대한 경로로 전달해야 하며(일반적인 구성은 이렇습니다)
그리고 opcache도 이 경로를 다음과 같이 사용합니다. 경로는 캐시코드의 Key이므로
소프트링크가 가리키는 디렉토리가 바뀌었더라도 opcache가 인식하는 디렉토리는 동일하므로 직접 캐시한 파일을 사용합니다. opcache上。
这里nginx应该是把目录a作为路径传递到了php-fpm中(通常的配置是这样的),
opcache也是以路径作为缓存代码的Key,
所以说虽然软连接指向的目录改变了,但是opcache识别到的目录是一样的,所以使用了直接缓存的文件。

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

현재 opcache는 파일 업데이트 여부를 매번 확인할 수 없고, 기능이나 업데이트 시간 구성을 통해서만 업데이트할 수 있으므로 개발 환경에서는 코드 캐싱을 활성화하지 않는 것이 좋습니다. 🎜
仅有的幸福

mtjpmj

大家讲道理

php.ini의 구성:

으아아아

opcache는 PHP 파일의 수정 타임스탬프를 매번 확인합니다. PHP 파일이 수정된 경우 opcache는 새 PHP 파일 opcode를 메모리에 다시 캐시합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿