PHPを独学するなら、Udemyの動画講座で
PHP 7も使えて快適な エックスサーバー

「error_reporting 32767」とか「error_reporting 32759」のようなコードは何かの暗号のようですが、実は「error_reporting(E_ALL)」や「error_reporting(E_ALL & ~E_NOTICE)」と同じことです。定数E_ALLを数値にすると32767だということです。

主なエラー定数と数値は次のとおりです。

  • 32767:E_ALL
  • 2048:E_STRICT
  • 8:E_NOTICE
  • 4:E_PARSE
  • 1:E_ERROR

この数値はPHPのバージョンによって異なる場合があるので注意が必要です。詳しくは、以下のページをご覧ください。

PHPマニュアル:エラー処理/定義済み定数

E_ALLの代わりに32767が使われる理由

E_ALLの代わりに32767が使われる理由の1つは.htaccessです。

ホームページ(Webアプリケーション)の動作設定を記述できる.htaccessでは、E_ALLのような定数は使えません。つまり、次のような記述は反映されません。

php_value error_reporting E_ALL

そのため、E_ALLなどの定数の代わりに次のように数値で指定する必要があります。

php_value error_reporting 32767

同じように、NOTICE以外の全エラーを表示したい場合は、E_ALL & ~E_NOTICEではなく「error_reporting 32759」のように指定します。32759はE_ALLの32767からE_NOTICEの8を引いた数値です。

php_value error_reporting 32759

現在の環境での定数値を調べる方法

これらの定数値はバージョンによって異なります。

E_ALLは、PHP 5.4.x では 32767、 PHP 5.3.x では 30719、 PHP 5.2.x では 6143、 それより前のバージョンでは 2047 でした。

PHPマニュアル:エラー処理/定義済み定数より引用)

.htaccessに設定を記述する前に現在の環境での定数値をチェックするには、次のように定数を出力してみるとよいでしょう。

<?php
echo E_ALL & ~E_NOTICE;
?>
実行結果
32759
スポンサーリンク

こちらもどうぞ

こちらも参考にしてください

関連記事

MySQL

phpMyAdmin

PHPサンプルコード

PHP関数

WordPress

エラーメッセージ

PHPの基礎が身に付いたかチェック!

PHP「直す力」養成ドリル
スポンサーリンク