The bit values provided in the question are not generally wrong but only for PHP versions older than 5.4.
PHP 5.4+
E_ALL
includes E_STRICT
so you should use: 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
does not include E_STRICT
so you should use: 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 till 5.2
E_ALL
does not include E_STRICT
so you should use: error_reporting(E_ALL | E_STRICT);
but the bit values differ from the values in PHP 5.3.
PHP before 5.0
E_STRICT
does not exist so you must use: error_reporting(E_ALL);