先日、PHPをPHP 5.0.6相当からPHP 5.1.3相当にバージョンアップしたところ一部に動作不良があったのでデバッグしていたコードの消し忘れがありました。コンテンツに”AAAAAAA”と表示して終了している状態になっていました。デバッグ途中で時間が来たのでデバッグコードが残ったものrsyncしたようです。(汗
現在は直っていますが、PHP 5.0.6からPHP 5.1.3相当へのバージョンアップでは思いもよらない部分で問題が発生したりしました。
if (expr) expr;
と{}でブロックにしていないと文法的には正しくてもT_ELSEが無いとエラーになったりしていました。エラーが発生する場合と発生しない場合があります。全てのブロック無しif文でエラーが発生する訳ではありません。
コーディングスタイルを
if (expr) {
expr;
}
としているので気が付きませんでした。
date関数のオプションの取り扱いが微妙に違うか、壊れているかで日付判定もおかしくなっていたのですがこちらは詳しく調べていません。(AAAAAAと表示されていた件がデバッグ用のコードdie(‘AAAAAAAAAA’)でした)
追記:
テストも兼ねてohgaki.netのPHPは5.1.3相当にしています。もし、Wiki、Blogでおかしな動作(空白ページなど)を見つけたら教えてください。