php.iniを配置すると phpinfo()が動かない

サーバ入れ替え時にハマりました。php.iniを置いていないときは、phpinfo()ができるのに、php.iniを配置するとphpinfo()が表示しないという現象に。

最初はエラー系とかのphp.iniの設定値が問題だろうと推測してました。なのでphpのマニュアルでphpinfo()の項目を確認したり、エラー表示の設定値を変えてみたり。

でもphpinfo()がでないんです。なんでだー!というときに気がつきました。short_open_tagがOffになっていると、<? phpinfo(); ?>が効かないんです。<?php phpinfo(); ?>なら動くんですね。PHPスクリプトのほうの記述ミスですねぇ、こりゃ。

php.iniが存在しないときは、short_open_tagがOn扱いになるようで、<? phpinfo(); ?>でも動いていたんです。でも、これは<?php のほうで記述すべきでしょ。

てなわけで気づきにくいミスでした。

NzLab: php.iniを配置すると phpinfo()が動かない
http://nzlab.nztype.net/article.php?story=20100905010421175