问题中提供的位值通常没有错误,但仅适用于早于 5.4 的 PHP 版本。
PHP 5.4+
E_ALL
包括E_STRICT
所以你应该使用:error_reporting(E_ALL);
Binary Name Decimal
0001 1111 1111 1111 E_ALL 32767
0000 1000 0000 0000 E_STRICT 2048
----------------------------------------------------------------------
0001 1111 1111 1111 E_ALL | E_STRICT produces the same result as E_ALL
PHP 5.3
E_ALL
不包括E_STRICT
所以你应该使用:error_reporting(E_ALL | E_STRICT);
Binary Name Decimal
0111 0111 1111 1111 E_ALL 30719
0000 1000 0000 0000 E_STRICT 2048
----------------------------------------------------------------------
0111 1111 1111 1111 E_ALL | E_STRICT produces a different value than E_ALL
PHP 5.0 到 5.2
E_ALL
不包括E_STRICT
所以你应该使用:error_reporting(E_ALL | E_STRICT);
但位值与 PHP 5.3 中的值不同。
5.0 之前的 PHP
E_STRICT
不存在,因此您必须使用:error_reporting(E_ALL);