phpで省略タグ使用関係のエラーが出る場合の備忘録

nginxのエラーログで以下のようなエラーが出ていた場合。

FastCGI sent in stderr: "PHP message: PHP Parse error: syntax error, unexpected end of file in ~

以下のような省略系が許容されていない可能性がある。

//通常
<?php echo("test"); ?>
//省略
<? echo("命令"); ?>

この場合、php.iniを編集すれば解決する。php.iniの場所を知るには

php -i | grep php.ini

とコマンドをうって確認。
そして、php.iniを編集して省略タグをオンにする。

; short_open_tag = Off
short_open_tag = On

再起動。

systemctl restart php-fpm

ただし、省略タグをオンにすることによって不具合が起こる可能性もあるため、素直に<?phpを使った方が良い場合もある。

参考

http://stackoverflow.com/questions/11482527/parse-error-syntax-error-unexpected-end-of-file-in-my-php-code

シェアする

  • このエントリーをはてなブックマークに追加

フォローする