nginx/phpfpm이 이전 PHP 파일 결과를 제공합니다.

nginx/phpfpm이 이전 PHP 파일 결과를 제공합니다.

서버: ubuntu 14.04lts nginx(v1.10) 서버는 파일을 이미 변경했는데 이전 콘텐츠를 표시합니다. 변경 사항은 3~6분 후에 표시됩니다. 문서 루트 디렉터리는 nfs 공유에서 마운트됩니다. 파일을 즉시 읽을 때 파일의 변경 사항이 표시되지만 cat브라우저에서는 동일한 내용을 볼 수 없습니다. 또한 nginx sendfile을 비활성화하려고 시도했지만 변경 사항을 볼 수 있는 시간이 있고 오래된 PHP 결과가 표시되는 시간이 있는 경우 동작이 무작위입니다.

참고: 브라우저 캐시를 지웠고 phpopcache가 비활성화되었습니다. nfs와 nginx 사이의 평균 대기 시간은 0.3ms 미만입니다. 캐싱 서버/클라이언트가 수행되지 않습니다.

아래는 클라이언트 측의 nfs 마운트 옵션입니다.

mount -t nfs
10.10.17.45:/www/public_html on /www/public_html type nfs (rw,noatime,nolock,bg,intr,tcp,actimeo=1800,addr=10.10.17.45

아래는 nfs 서버의 내보내기 conf입니다.

/www/public_html 10.10.17.40(rw,fsid=0,async,no_root_squash,no_subtree_check)

showme.php예를 들면 다음과 같습니다. - 아래 내용으로 불리는 파일이 있습니다.

<?php $var1="abc" echo $var1; ?> 

그리고 내가 그것을 다음으로 바꾸면

<?php $var1="xyz" echo $var1; ?> 

이것은 브라우저에 반영되지 않습니다

답변1

PHP 버전과 php-fpm 설정에 따라 이는 아마도 PHP 캐싱/PHP 파일 컴파일 및 최대 요청 수를 처리한 후 FPM 프로세스 중 하나가 종료될 때 새로 고치는 문제일 수 있습니다. 언제든지 다음을 수행할 수 있습니다.

sudo service php-fpm restart

또는

sudo systemctl restart php-fpm

파일 변경 사항을 즉시 선택하려면

관련 정보