ノノログ

ホーム / ブログ / 古い環境で動いていたphpをphp5.4に移すときのエラー指定

古い環境で動いていたphpをphp5.4に移すときのエラー指定

 

古いサーバから新しいサーバへコンテンツを移動する際のPHPについて、
サポート終了しているPHP4系なんかをうごかしたくないので、いっその事最新版へしてしまおうと思い、PHP5.4を入れると大量発生するエラーの制御
 
まあはっきり言って「Deprecated」と「STRICT」が邪魔になるんだよね。
※ もちろん新しくつくるものはちゃんと従ったほうがいいけど
 

php.iniの場合は
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED

php内に埋め込むには
error_reporting(E_ALL ^ E_NOTICE ^ E_STRICT ^ E_DEPRECATED);

.htaccessの場合は
# 32767 - 8 - 2048 - 8192 = 22519
php_value error_reporting 22519

 

エラーとロギング
定数 説明 注記
1 E_ERROR (integer) 重大な実行時エラー。これは、メモリ確保に関する問題のように復帰で きないエラーを示します。スクリプトの実行は中断されます。  
2 E_WARNING (integer) 実行時の警告 (致命的なエラーではない)。スクリプトの実行は中断さ れません。  
4 E_PARSE (integer) コンパイル時のパースエラー。パースエラーはパーサでのみ生成されま す。  
8 E_NOTICE (integer) 実行時の警告。エラーを発しうる状況に遭遇したことを示す。 ただし通常のスクリプト実行の場合にもこの警告を発することがありうる。  
16 E_CORE_ERROR (integer) PHPの初期始動時点での致命的なエラー。E_ERRORに 似ているがPHPのコアによって発行される点が違う。  
32 E_CORE_WARNING (integer) (致命的ではない)警告。PHPの初期始動時に発生する。 E_WARNINGに似ているがPHPのコアによって発行される 点が違う。  
64 E_COMPILE_ERROR (integer) コンパイル時の致命的なエラー。E_ERRORに 似ているがZendスクリプティングエンジンによって発行される点が違う。  
128 E_COMPILE_WARNING (integer) コンパイル時の警告(致命的ではない)。E_WARNINGに 似ているがZendスクリプティングエンジンによって発行される点が違う。  
256 E_USER_ERROR (integer) ユーザーによって発行されるエラーメッセージ。E_ERROR に似ているがPHPコード上で trigger_error()関数を 使用した場合に発行される点が違う。  
512 E_USER_WARNING (integer) ユーザーによって発行される警告メッセージ。E_WARNING に似ているがPHPコード上で trigger_error()関数を 使用した場合に発行される点が違う。  
1024 E_USER_NOTICE (integer) ユーザーによって発行される注意メッセージ。E_NOTICEに に似ているがPHPコード上で trigger_error()関数を 使用した場合に発行される点が違う。  
2048 E_STRICT (integer) コードの相互運用性や互換性を維持するために PHP がコードの変更を提案する。 PHP 5 より
4096 E_RECOVERABLE_ERROR (integer) キャッチできる致命的なエラー。危険なエラーが発生したが、 エンジンが不安定な状態になるほどではないことを表す。 ユーザー定義のハンドラでエラーがキャッチされなかった場合 ( set_error_handler() も参照ください) は、 E_ERROR として異常終了する。 PHP 5.2.0 より
8192 E_DEPRECATED (integer) 実行時の注意。これを有効にすると、 将来のバージョンで動作しなくなるコードについての警告を受け取ることができる。 PHP 5.3.0 より
16384 E_USER_DEPRECATED (integer) ユーザー定義の警告メッセージ。これは E_DEPRECATED と同等だが、 PHP のコード上で関数 trigger_error() によって作成されるという点が異なる。 PHP 5.3.0 より
32767 E_ALL (integer) サポートされる全てのエラーと警告。 PHP 5.4.0 より前のバージョンでは、E_STRICT レベルのエラーは除く。 PHP 5.4.x では 32767、 PHP 5.3.x では 30719、 PHP 5.2.x では 6143、 それより前のバージョンでは 2047 でした。