�������� | ��������� | �������� |
1 | E_ERROR | ��������� ������ ������� ����������. |
2 | E_WARNING | �������������� ������� ����������. |
4 | E_PARSE | ��������� ������������� ������� ����������. |
8 | E_NOTICE | ������� ��������� ������� ����������. |
16 | E_CORE_ERROR | ��������� ������ ��� ������������� PHP. |
32 | E_CORE_WARNING | �������������� �������������. |
64 | E_COMPILE_ERROR | ��������� ������ ����������. |
128 | E_COMPILE_WARNING | �������������� ����������. |
256 | E_USER_ERROR | ������, ������������ �������������. |
512 | E_USER_WARNING | ��������������, ������������ �������������. |
1024 | E_USER_NOTICE | ���������, ������������ �������������. |
2047 | E_ALL | ��� ������������� ���������. |
��������� �������� � ���� ����� ��� �������� ����� �������������, �������� ������� ����� ������, � ������� ���������� �������� � ���� ���������� ��������. ��� �������������� ������������ ������� ���������, �� � ���������������� ����� php.ini ������������ ������ "|", "~", "!" � "&".
� PHP 4 �� ��������� ��������� ��������� ���� E_ALL & ~E_NOTICE, �� ���� ���������� ������ ���, ����� ������� ���������. ����� �������������� ��� ��������� ���������� ����� ������������ error_reporting() (�� ����� ����� ��������� � ������ ������������ ������� Apache).
���� ��� ������ ������� ����� �� ������ ������� ������ "@", �� � ������ ������������� ������ � ���� ������� ��������� � ��� ���������� �� �����.
� ��������� ����� �������� ������������� ������ ��������� ���� ������ ��������� � ����������� �������, ��� ������������� ������� �������� �������� �����������.
���� �������� �������� ������������ track_errors, �� ��������� �� ������ ����������� � ���������� ���������� $php_errormsg.
<? // ������������ ������������� ���������� ������ function userErrorHandler($errno,$errmsg,$filename,$linenum,$vars) { // ����� ������������� ������ $dt=date("Y-m-d H:i:s (T)"); $errortype = array( 1 => "Error", 2 => "Warning", 4 => "Parsing Error", 8 => "Notice", 16 => "Core Error", 32 => "Core Warning", 64 => "Compile Error", 128 => "Compile Warning", 256 => "User Error", 512 => "User Warning", 1024 => "User Notice" ); $err.="����� ($dt), ����� ������ ($errno), "; $err.="��� ������ (".$errortype[$errno]."): "; $err.="\"$errmsg\".���� \"$filename\", ������ ("; $err.=$linenum.")\n"; $user_errors=array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE); if(in_array($errno, $user_errors)) // ������ ��������� ��� ������ ������������ echo $err; // ��������� ������� ������ � ��������� ������� error_log($err, 3, "/usr/local/php4/error.log"); } // ���������� ������� �������� ������ � ���������� error_reporting(0); // �� �������� ��������� PHP $old_error_handler=set_error_handler("userErrorHAndler"); // �������������� ��������� �������� �������������� $t=_NOT_DEFINED_CONSTANT; trigger_error("��� ������", E_USER_ERROR); trigger_error("��� ��������������", E_USER_WARNING); ?>