nginx と php の連携をしてphp のシンタックスエラーを表示する
php-fpm 側の設定をしてしまうと、サイトごとやファイルごとに設定できないので、困ってた。
location ~ \.php$ { fastcgi_pass unix:/run/php/php7.0-fpm.sock; include snippets/fastcgi-php.conf; fastcgi_param PHP_VALUE "display_errors=on display_startup_errors=on error_reporting = E_ALL error_log = /var/log/nginx/foo-bar.error.log "; }
順番を逆にすると動かない。。。
fastcgi_pass が逆になると動かない。なんでや
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_param PHP_VALUE "display_errors=on display_startup_errors=on error_reporting = E_ALL error_log = /var/log/nginx/foo-bar.error.log "; fastcgi_pass unix:/run/php/php7.0-fpm.sock; }
passより前に書かないと設定が有効にならない。何だこれハマるぞ。
今回、表示されなくてハマった動作環境はコレ。もしかしたらubuntu / debian のinclude の書き方と関係あるのかな~。
PHP Version 7.0.25-0ubuntu0.16.04.1 nginx version: nginx/1.10.3 (Ubuntu)