phpinfo();を実行すると、画面真っ白、僕の顔真っ青。

ServersMan@VPSのentryインスタンスを借り、yumでPHP7をインストール。DocumentRoot下にphpinfo.phpを作成、いざブラウザでアクセスしてみたら画面が真っ白…。自称サーバー管理中級者の僕の顔真っ青。どうしてこうなった?

結論から言うと、phpinfo.phpの書き方が悪かった。僕の書いたphpinfo.php。

正しい書き方はこちら。

何が違うかは一目瞭然ではあるが、何が違うかというと、PHPタグの開始タグの書き方。<?の後にphpと記述しているかしていないかだけの違いでしかないけど…PHPさん厳しい。

上の書き方も間違いとまでは言えないのだが、サーバーに「正しいPHP」と認識させる為には設定が必要。

■対処例1.php.iniの「short_open_tag」を有効にする

変更したら、httpdを再起動する

■対処法2、PHPをconfigureする際に「–enable short_tags」オプションを追加する

PHP5.4以降ではこのタグが廃止されたようで、PHPマニュアルを参照してみても記述が見当たらなかった。–disable short_tags はあったが、初期値は Off だったんだから意味ないんじゃないのか?

基本的には対処法1だけで良い。わざわざ再コンパイルなど面倒すぎるし。

ただ、自分が管理者であるサーバーなら勝手にphp.iniを設定してhttpdを再起動すれば良いが、仕事では勝手に変更して勝手に再起動などとんでもない場合が多いとは思う。仮に今のサーバーでOnになっていたとしても、万が一サーバーを移動する羽目になり、新しいサーバーではOffになっていました、となると修正がとても大変だ。PHPタグは横着して省略せず、きちんと書く癖をつけよう。

解決策が見つかるまでの間、PHPのインストール失敗したと思って再インストールしたり、httpdを再起動しまくったり、ドキュメントルートの権限を何度も見直したり、ネットの情報を漁ったりと無駄に忙しかった。

シェアする

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

フォローする