在开发web应用程序时,在客户端级别我使用console.log和console。错误来帮助我了解发生了什么。我正在寻找一个类似的功能在服务器端级别,以帮助我看到发生了什么。我看到error_log将错误写入服务器的日志文件,并想知道是否有类似的功能用于写入服务器访问日志?
或者我是在用错误的方式,我应该使用完全不同的东西来查看服务器端开发的后台发生了什么?
这对我有用:http://www.paulund.co.uk/output-php-data-in-browser-console
/**
* Send debug code to the Javascript console
*/
function debug_to_console($data) {
if(is_array($data) || is_object($data)) {
echo("<script>console.log('PHP: ".json_encode($data)."');</script>");
} else {
echo("<script>console.log('PHP: $data');</script>");
}
}
这不是完全相同的事情,但是您可能想研究一下PHP调试器XDebug。
它有一些非常强大的PHP调试功能。例如,您可以逐行执行PHP程序,并观察它的位置,以及程序中任意给定点的变量设置,等等。
当它与IDE(如Netbeans或Eclipse)结合使用时效果最好,因为您可以使用相同的接口来调试您的程序,因为您可以使用相同的接口来编辑您的代码。
它还可以生成跟踪文件,这些文件可以加载到一个名为WinCacheGrind的程序中,该程序允许您在程序运行后跟踪程序,例如,查看哪些函数导致程序运行缓慢。
作为一个选项,您可能还想查看syslog()
我同意Spudley关于使用XDebug或Zend Debugger(类似于XDebug的设置和操作)的回答。但是,要直接回答您的问题,您可以将trigger_error
与E_USER_WARNING
或E_USER_NOTICE
以及适当的error_reporting级别组合使用。您也可以使用syslog
,如ssapkota建议的。