禁用“显示错误”时调试PHP脚本

禁用“显示错误”时调试PHP脚本,php,debugging,Php,Debugging,当display_errors关闭并且PHP在安全模式下运行时,我们如何调试PHP脚本 “每当您试图在打印语句或 调试器表达式,改为将其作为测试写入“ --马丁福勒 当ever error display关闭时,我们可以使用echo$var调试代码的唯一方法;退出或变量转储($list);退出 var_dump($variable); exit; echo "<pre>"; print_r($variable); exit; 或 或 echo”“; 打印(变量); 出口 您可以使

当display_errors关闭并且PHP在安全模式下运行时,我们如何调试PHP脚本

“每当您试图在打印语句或 调试器表达式,改为将其作为测试写入“

--马丁福勒


当ever error display关闭时,我们可以使用
echo$var调试代码的唯一方法;退出
变量转储($list);退出

var_dump($variable);
exit;
echo "<pre>";
print_r($variable);
exit;

echo”“;
打印(变量);
出口
您可以使用:

PHP将日志文件写入文件


如果无法启用display errors指令,可以使用var\u dump、debug\u backtrace和exceptions来调试php源代码。

最好的方法是使用error\u log() 您可以为该方法设置特定的处理程序。将其记录到数据库、文件或仅显示错误


如果您想设置处理程序方法,您可以使用:

如果您在开发环境中,您应该禁用
安全模式
并启用
错误报告
。在生产环境中,您可能不应该进行实时调试(因为它是实时的)。如果您想跟踪似乎只出现在生产环境中的错误,请使用
错误日志
,或者使用您正在使用的框架的日志机制,然后检查日志。这样您就不会破坏生产环境的正常运行。一些框架,如
symfony
提供了一个单独的接口,可以在另一个环境中访问您的系统(例如,访问
index.php
已禁用错误报告,但
frontend\u dev.php
未禁用)

如果您没有一个单独的生产和开发环境,那么现在是将两者分开的时候了。例如,您可以安装
XAMPP
或类似于您的开发PC,在那里您可以进行开发,并且仅在您已经调试/测试了代码的情况下部署到实时服务器

echo "<pre>";
print_r($variable);
exit;
error_reporting(E_ALL);
ini_set('display_errors','On');
ini_set('error_log','my_file.log');