エラーレベル

エラーメッセージエラー設定

エラー定数の中身はビット値

 状態:-  閲覧数:1,656  投稿日:2016-08-04  更新日:2016-09-18  
var_dump();で確認可能 :
・ビット値は、バージョンによって変更を余儀なくされるため、出来るだけPHPの定義済み定数 を利用した方が良い
・但し、E_ALLのように、バージョンによって中身が変わるものがあるため注意が必要
・これは恐らく、バージョンによって、新たなエラー定数が増えることもあるため、それを網羅していった結果だと思われる


※E_ALL値は、環境によって異なる


前提環境PHP 5.2.5
・PHP 5.4.x → 32767
・PHP 5.3.x → 30719
・PHP 5.2.x → 6143
・それ以前のバージョン→ 2047

エラーレベル一覧(E_ALLベース)

 閲覧数:552 投稿日:2016-08-05 更新日:2016-08-09 

エラーレベル一覧(E_ALLベース)


一覧
ビット値 2進数 定数 説明 導入バージョン
2048 0000 1000 0000 0000 E_STRICT コードの相互運用性や互換性を維持するために PHP がコードの変更を提案 PHP 5
6143 0001 0111 1111 1111 E_ALL E_STRICTとE_DEPRECATEDを除いたすべてのエラー定数のビットをもつ定数 -
8192 - E_DEPRECATED 実行時の注意。これを有効にすると、 将来のバージョンで動作しなくなるコードについての警告を受け取ることができる PHP 5.3.0


エラーレベル一覧(error_reportingの設定)

 閲覧数:510 投稿日:2016-08-10 更新日:2016-08-21 

error_reportingの設定


エラーレベルを示す文字列または値で指定
・ビット演算子(|→OR、&→AND、^→XOR、~・!→NOT)を用いて組み合わせた指定や特定エラーだけを出なくするような指定も可能


phpのオプションでビット演算を使う場合


下記の設定は E_ALL に E_STRICT が含まれるかどうかで変わります。
error_reporting(E_ALL &~ E_STRICT);
error_reporting(E_ALL ^ E_STRICT);

例えば E_ALL ^ E_NOTICE は E_ALL に E_NOTICE が含まれるので E_ALL から E_NOTICE を引いた値(E_ALL &~ E_NOTICE と同じ)になり E_ALL ^ E_STRICT は E_ALL に E_STRICT が含まれないので E_ALL | E_STRICT と同じ値になります。

php6 から E_ALL が E_STRICT を含むらしいので注意が必要です。
よって error_reporting に排他的論理和を使うのをやめることをお勧めします


一覧

ビット値 2進数 設定 報告(出力)するエラー内容 簡易計算(実際はビット処理)
0 - 0 なし(全てのエラー出力をオフにする) -
6143 0001 0111 1111 1111 E_ALL E_STRICTとE_DEPRECATEDを除いたすべてのエラー定数のビットをもつ定数 -
6143 0001 0111 1111 1111 E_ALL &~ E_STRICT E_STRICTとE_DEPRECATED以外のエラー。E_ALLにE_STRICTは含まれていないので、引けない。あるいは、「何もない」を引くので、結果、E_ALLと同じになる -
2048 0000 1000 0000 0000 E_STRICT - -
8191 0001 1111 1111 1111 E_ALL ^ E_STRICT DEPRECATED 以外のエラー E_ALL値「6143」+E_STRICT値「2048」
8 0000 0000 0000 1000 E_NOTICE - -
6135 0001 0111 1111 0111 E_ALL &~ E_NOTICE 「E_NOTICE」、「E_STRICT」、「E_DEPRECATED」以外のエラー。E_ALL から E_NOTICE だけを NOT AND でマスク E_ALL値「6143」+(-E_NOTICE値「8」)
6135 0001 0111 1111 0111 E_ALL ^ E_NOTICE 「E_NOTICE」、「E_STRICT」、「E_DEPRECATED」以外のエラー。※E_NOTICEは、E_ALLの中に含まれているため E_ALL値「6143」+(-E_NOTICE値「8」)


ビット演算子

 閲覧数:472 投稿日:2016-08-23 更新日:2016-08-31 

ビット演算子


比較一覧表
名称 表記 説明(各桁 (ビット単位) で、) 具体 ベン図
論理積 $x & $y 両方 「1」 の場合 「1」、
どちらかが 「0」 の場合 「0」
$x
$y
$x & $y
1011
1101
1001

論理和 $x | $y どちらかが 「1」 の場合 「1」、
両方 「0」 の場合 「0」
$x
$y
$x & $y
1010
1100
1110

排他的論理和 $x ^ $y 等しい場合 「0」、
異なる場合 「1」
$x
$y
$x ^ $y
1010
1100
0110

否定 ~$x ビットを反転 $x
~$x
1010
0101



エラーレベル一覧(詳細)

 閲覧数:593 投稿日:2016-09-01 更新日:2016-09-16 

一覧


ビット値 2進数 定数 説明 -
1 0000 0000 0000 0001 E_ERROR 致命的な実行時のエラーを出力(メモリ確保に関する問題のように復帰不能なエラー)。スクリプトの実行は中断される -
2 0000 0000 0000 0010 E_WARNING 実行時の警告を出力。スクリプト実行は中断されない -
4 - E_PARSE コンパイル時の構文解析エラーを出力 -
8 0000 0000 0000 1000 E_NOTICE 実行時の情報を出力 -
16 - E_CORE_ERROR PHPの初期動作時点で起きる致命的なエラーを出力 -
32 - E_CORE_WARNING PHPの初期動作時点で起きる警告を出力 -
64 - E_COMPILE_ERROR 致命的なコンパイル時のエラーを出力 -
128 - E_COMPILE_WARNING コンパイル時の警告を出力 -
256 - E_USER_ERROR ユーザーが用意(定義)したエラーを出力 -
512 - E_COMPILE_WARNING ユーザーが用意(定義)した警告を出力 -
1024 - E_USER_NOTICE ユーザーが用意(定義)した情報を出力 -
2048 0000 1000 0000 0000 E_STRICT コード互換性のための情報を出力(PHP5構文を強制) -
4096 - E_RECOVERABLE_ERROR 回復可能な実行時のエラーを出力 -
6143 0001 0111 1111 1111 E_ALL 環境によって異なる。PHP 5.4.x → 32767、 PHP 5.3.x → 30719、 PHP 5.2.x → 6143、 それ以前のバージョン→ 2047 -



エラー出力レベル設定

コメント投稿(ログインが必要)



週間人気ページランキング / 11-16 → 11-22
順位 ページタイトル抜粋 アクセス数
1 ブラウザを閉じたらセッションデータはどうなるの? | セッション 8
2 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 5
3 Fatal error: Access level to ▲::$△ must be protected (as in class ●) or weaker | Fatal error(エラーメッセージ) 4
3 Warning: strlen() expects parameter 1 to be string, array given in ○○.php on line △△ | Warning(エラーメッセージ) 4
4 PHPで定数を定義する方法は2種類ある / 配列定数の定義 3
4 インポートするデータを受信できませんでした。ファイル名が送信されていないか、ファイルサイズが PHP の設定で許可された最大値を超えています。FAQ 1.16 をご覧ください | エラーメッセージ 3
4 ブラウザを閉じたらセッションデータはどうなるの? | セッション 3
4 クラスの継承 | クラスとオブジェクト 3
5 curl で Cookie を使用する 2
5 例外処理 | 制御構造 2
5 Fatal error: Uncaught Error: Call to a member function modify() on string | Fatal error(エラーメッセージ) 2
5 関数定義内での「外部ファイル読込」 | 制御構造 2
5 set_error_handler | 例外処理(制御構造) 2
5 ( ! ) Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined | Fatal error(エラーメッセージ) 2
5 コード例 … 「例外処理」はネストすることができる 2
5 PHP用語 2
5 register_shutdown_function | 関数処理 関数 2
6 クロージャ | 関数 1
6 session.cookie_lifetime / session.use_cookies | セッション 1
6 セッション管理が必要な理由は、HTTPプロトコルには状態を保持する機能がないため | セッション 1
2024/11/23 1:01 更新