PHP_FLAGを使いたい。
apache の mod_php や apacheの fcgiなら簡単にできるんだけど、nginxだとfcgiでどうやって 初期設定を渡したら良いんだろうか。
こうすれば出来る。
fastcgi_param PHP_FLAG "display_errors=on \n display_startup_errors=on"; fastcgi_param PHP_VALUE "error_reporting=-1";
php をfpm で設定するときに、在るサイトだけ display_errors をオンにしたいとか在るんですよ。
日本語でググっても php-fpm.ini のグローバル設定を変えろ的な記事しかなかったので、アレコレ調べた。
サイトごとにエラー設定を変える。
トラブルが出ているサイトを一時的にdisplay_errors して見てみるとか。
デプロイ時だけエラーになってなんだコレ??ってphpのエラーを追いかけるときかに便利。
サイトごとのエラーログが便利。
fastcgi_param PHP_VALUE "error_log=/var/log/nginx/my-site.error.log"
複数書きたいときは改行
改行で書くのが楽でいいよ。スペース区切りはダメ。
fastcgi_param PHP_VALUE " display_errors=on display_startup_errors=on error_reporting=E_ALL error_log=/var/log/nginx/comic-viewer.error.log";
または Name=Value\nName=Value
にする.
だめな例
fastcgi_param PHP_VALUE "display_errors=on"; fastcgi_param PHP_VALUE "display_startup_errors=on";
PHP_VALUE は1つしか取ってくれない。 (そのうちに、nginxやphp-fpmのバージョンアップで解決するんじゃないかな。
ただし再起動が必要
sudo systemctl restart nginx php7.0-fpm
fpm の再起動をすると設定が反映される。再起動をしなくてもキャッシュが消えたら反映されると思うけど、php-fpmのキャッシュ機構は多分複雑だろうから追いかけ用途思っても時間が足りなくて出来てない。
前の記事
nginx + php-fpm で display_startup_erros=on にしてシンタックスエラーを表示する。 - それマグで!
PHP
心の疲労回復読本 2018年 01 月号 [雑誌]: PHP 増刊
- 出版社/メーカー: PHP研究所
- 発売日: 2017/11/16
- メディア: 雑誌
- この商品を含むブログを見る