为什么打印错误的语句会把web的物理路径带出来?
有一个err.php 报如下错误:
Fatal error: Call to undefined function abc() in C:\apache\htdocs\test\err.php on line 3
报的错误是对的,但是却把物理路径带出来了,不太安全,如何隐藏物理路径呢?
------解决方案--------------------难道你想一直把错误展示给用户?
生产环境一般都是直接关掉错误提示。如果你执意想知道如何隐藏绝对路径,可以参看 set_error_handle(),这个函数会在出现错误时被调用。
set_error_handler(function(){
$errinfo = func_get_args();
$errinfo[2] = basename($errinfo[2]);
echo "{$errinfo[1]} in {$errinfo[2]} on {$errinfo[3]}\n";
});
$d[hello] = 'helo';