エラーレベル

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

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

 状態:-  閲覧数:1,519  投稿日: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ベース)

 閲覧数:501 投稿日: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の設定)

 閲覧数:458 投稿日: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」)


ビット演算子

 閲覧数:423 投稿日: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



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

 閲覧数:540 投稿日: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 -



エラー出力レベル設定

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



週間人気ページランキング / 6-7 → 6-13
順位 ページタイトル抜粋 アクセス数
1 PHPで定数を定義する方法は2種類ある / 配列定数の定義 9
2 コード例 … 「例外処理」はネストすることができる 5
2 ブラウザを閉じたらセッションデータはどうなるの? | セッション 5
3 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 4
4 ガベージコレクション | 機能 3
4 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in ○○.php on line △△ | Warning(エラーメッセージ) 3
4 curl で Cookie を使用する 3
4 PHPにおけるメソッドのオーバーライドについて /「引数の数や型は、親クラスのメソッドと完全に一致していなければなりません。」とは具体的にどういう意味ですか? 3
4 Catchable fatal error: Object of class DateTime could not be converted to string | Fatal error(エラーメッセージ) 3
4 Fatal error: Uncaught PDOException: SQLSTATE[HY000] [2002] Connection refused | Fatal error(エラーメッセージ) 3
4 Warning: include() [function.include]: Failed opening '**.php' for inclusion (in | Warning(エラーメッセージ) 3
4 ( ! ) Deprecated: implode(): Passing glue string after array is deprecated. Swap the parameters in ★★★ headless-chromium-php/vendor/wrench/wrench/lib/Wrench/Protocol/Protocol.php | エラーメッセージ 3
5 Fatal error: Wrong parameters for Exception([string $exception [, long $code ]]) | Fatal error(エラーメッセージ) 2
5 セッション管理が必要な理由は、HTTPプロトコルには状態を保持する機能がないため | セッション 2
5 Fatal error: require_once(): Failed opening required 'PEAR.php' | Fatal error(エラーメッセージ) 2
5 Fatal error: Uncaught RuntimeException: SplFileObject::__construct(): failed to open stream: Permission denied in | Fatal error(エラーメッセージ) 2
5 ( ! ) Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'カラム名' cannot be null | Fatal error(エラーメッセージ) 2
5 session_start() | セッション 2
5 @ | 演算子 2
5 Parse error: syntax error, unexpected T_REQUIRE_ONCE, expecting T_FUNCTION | Parse error(エラーメッセージ) 2
2024/6/14 1:01 更新