古いPHPソースを動かす場合の確認点
Windows 2008 R2 + Oracle 11g + PHP 5.3 の環境を新しいインフラへ移行したい。
まずは Windows 2016上にPHP5.3+11gno環境を作成してみたが、まぁなかなか動かない。
とりあえず動かすための確認メモ
1) PHP.iniはphp.ini-developmentをリネームして使用する。
2) 古いPHPソースは、PHPソースの開始タグとして "<?php" でなく "<?" を使用している場合がある。
3) "Notice: Use of unfefined ~" の警告が大量に発生
4) "Deprecated: Call-time pass-by-reference has beed deprecated in ~" が大量に発生
5) "Warning: Date() [function.date]: It is not safe to rely on the system's timezone settings." が発生
まずは Windows 2016上にPHP5.3+11gno環境を作成してみたが、まぁなかなか動かない。
とりあえず動かすための確認メモ
1) PHP.iniはphp.ini-developmentをリネームして使用する。
php.ini-productionを使用しない
2) 古いPHPソースは、PHPソースの開始タグとして "<?php" でなく "<?" を使用している場合がある。
この場合、既定のphp.iniでは動作しない。
short_open_tag を "On" へ変更する。
short_open_tag を "On" へ変更する。
3) "Notice: Use of unfefined ~" の警告が大量に発生
未初期化(未定義)の変数を参照しようとすると警告が発生する。
とりあえず警告を無視することで対応する。
error_reporting = の設定に "~E_NOTICE" を追加する。
とりあえず警告を無視することで対応する。
error_reporting = の設定に "~E_NOTICE" を追加する。
4) "Deprecated: Call-time pass-by-reference has beed deprecated in ~" が大量に発生
参照渡しの引数を、呼び出し元で "&" 指定した場合に発生。
allow_call_time_pass_reference = を "On" に変更する。
allow_call_time_pass_reference = を "On" に変更する。
5) "Warning: Date() [function.date]: It is not safe to rely on the system's timezone settings." が発生
Date関数を使う際にタイムゾーンを指定していないために発生。
php.iniにタイムゾーンを指定して対応する。
以下設定は既定でコメントアウトされているので、コメント解除し "Asia/Tokyo" を指定する。
[date] date.timezone = Asia/Tokyo
php.iniにタイムゾーンを指定して対応する。
以下設定は既定でコメントアウトされているので、コメント解除し "Asia/Tokyo" を指定する。
[date] date.timezone = Asia/Tokyo
PHP
0 件のコメント:
コメントを投稿