TCPDF使用了大量的PHP@运算符来抑制错误。由于我的应用程序使用自定义的错误处理程序,它仍然会得到这些"抑制"的错误。
我如何使它忽略被抑制的错误?
我曾想过使用回溯来确定错误是否来自TCPDF,但错误可能来自未使用@运算符的行。例如,这样一条线看起来像(l.6882):
if (($imsize = @getimagesize($file)) === FALSE) {
我向Nicola Asuni(TCPDF创建者)询问了这个特定的错误,他说:"代码运行良好,错误已被故意抑制"。
我使用PHP函数set_error_handler来处理错误。
以及以下内容:error_reporting(E_ALL);在PHP 5.4 上
检查错误处理程序中的error_reporting()
(您应该阅读PHP文档,它解释了您的具体案例)
参见示例(改编自PHP DOCS):
function myErrorHandler($errno, $errstr, $errfile, $errline ) {
if (!(error_reporting() & $errno)) {
// This error code is not included in error_reporting or was called with @
return;
}
throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
}
set_error_handler('myErrorHandler');
@strpos();