LoginSignup
15
13

More than 5 years have passed since last update.

PHP-FPM + Nginx 構成でデプロイ時(symlink利用)にPHPファイルが更新されない時

Last updated at Posted at 2015-11-18

Capistrano3 を利用して、PHPのコンテンツを更新していたのだが、どうもPHPファイルだけ更新が反映されない。php-fpm を reload してみたら更新された。これは、どういうことやねんということで調べる。
ファイルを直接上書きすると、更新される。Capistrano では symlink により current ディレクトリが切り替わる仕組みとなっているため(capistrano deploy のデフォルトの挙動) この動きが何か怪しそうだ。

犯人はOpCache と Nginx の設定

もともとの fastcgi_param の設定は以下になっていた

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

どうやら、opcache は symlink にあるブツの変更を反映しない(?)
設定をいかにすることで解消可能

fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;

参考になった記事

15
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
13