php裏@錯誤抑制符只是不顯示錯誤信息,但是錯誤信心還是能被set_error_handle()函數捕獲到。
舉個例子:
function userErrorHandler($errno, $errmsg, $filename, $linenum, $vars)
{
echo $errno, $errmsg, $filename, $linenum, <span style="font-family: Arial, Helvetica, sans-serif;">$vars</span><span style="font-family: Arial, Helvetica, sans-serif;">;</span>
}
set_error_handler("userErrorHandler");
@file_get_contents('/tmp/app.log');
運行結果:
2file_get_contents(/tmp/app.log): failed to open stream: No such file or directory/tmp/2850a98a-0f5f-4a2b-a4e7-2c7e2ad289a7/code12Array
說明加了@,錯誤信息還是被userErrorHandler()抓到了。