在开发Web应用程序时,在客户端级别,我使用console.log和console.error来帮助我查看正在发生的事情。我正在寻找服务器端级别的类似功能,以帮助我了解正在发生的事情。我见过error_log,它将错误写入服务器的日志文件,并想知道是否有类似的函数写入服务器访问日志?
或者我是以错误的方式解决这个问题,我是否应该使用完全不同的东西来查看后台服务器开发的进展情况?
答案 0 :(得分:12)
这对我有用: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>");
}
}
答案 1 :(得分:9)
这不是一回事,但您可能想调查PHP调试器XDebug。
它有一些非常强大的PHP调试功能。例如,您可以逐行浏览PHP程序并观察它的位置,以及程序中任何给定点的变量设置等等。
与Netbeans或Eclipse等IDE结合使用时效果最佳,因为您可以使用相同的界面来调试程序,而不是用来编辑代码。
它还可以生成跟踪文件,可以将其加载到名为WinCacheGrind的程序中,该程序允许您在程序运行后跟踪程序,以查看哪些函数导致程序运行缓慢。
答案 2 :(得分:3)
作为一种选择,您可能还需要查看syslog()
答案 3 :(得分:1)
关于使用XDebug或Zend Debugger(类似于XDebug的设置和操作),我第二次Spudley's answer。但是,要直接回答您的问题,您可以在E_USER_WARNING
或E_USER_NOTICE
的组合中使用trigger_error
以及相应的error_reporting级别。您也可以使用syslog
作为ssapkota建议。