调试php代码

时间:2013-12-28 09:23:00

标签: php debugging

我有这个问题,当我有时将我的代码从开发人员服务器推送到实时服务器时,它就是错误的,因为并非所有时间都是在实时系统和开发人员系统上运行的所有版本。

所以现在我搜索一个方法来查找我认为是开发人员之一的所有错误,或者使用一个很好的错误,所有这些错误都是开发人员在互联网上的网站。

有人能帮助我吗?

2 个答案:

答案 0 :(得分:1)

如果要禁用所有错误消息,可以使用函数error_reporting并将其设置为0,这意味着应关闭所有报告。

<?php
// You would place this where you initialize your application
error_reporting(0);
?>

还有一些方法可以指定不同级别的报告,但这些都在文档中进行了解释。

为了记录您遇到的所有错误,您可以使用函数set_error_handler。此功能使您可以注册自己的方式来处理特定错误。这也意味着您可以在其中使用日志记录,甚至可以使用一些更高级的错误处理方法。

<?php
function myErrorHandler($errno, $errstr, $errfile, $errline) {
    // execute your logging procedure and some possible other
    // error-handling

    // This will disable PHP's internal error handler, even
    // if error_reporting is not set to 0
    return true;
}
?>

如何记录错误是另一个问题,但您可以使用自己的方式处理此库或某些现有库。这可能对你的目的来说太多了,但我真的很喜欢Monolog,所以你可以查看一下。您还可以使用其他一些好的库,例如log4php。

答案 1 :(得分:0)

使用自定义错误处理程序并将电子邮件问题发送到您的mailaddress。这就是我们在生产中使用它的方式。

使用set_error_handler()http://www.php.net/manual/en/function.set-error-handler.php)设置自定义处理程序。

请参阅此tutorial如何设置具有邮件功能的自定义处理程序。