【发布时间】:2015-09-21 17:28:47
【问题描述】:
我正在开发一个不使用任何框架的基本应用程序,也没有debug = 1。我试图弄清楚如何显示 php 的 var_dumps 和 error_logs,但我不确定它们应该在哪里打印。
我在 localhost 使用 PHP 的内置服务器。 这是我的html:
<?php
session_start();
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<pre>
</pre>
</body>
</html>
我以为session_start() 会在 html 之前显示 php var_dumps,但什么都没有。
我还尝试安装 ChromePHP,我可以让它打印 HTML 中的内容,但当我将语句移到 PHP 代码中时却不行。
我也有这个类记录一些错误:
class Utils {
public static function log($message)
{
@error_log($message, 0);
}
}
我尝试将其更改为error_log($message, 3, './mylog.txt');还是什么都没有。
这可能是有史以来写的最基本的问题,但我不知道如何调试纯 PHP。
【问题讨论】:
-
我会删除error_log前面的@。默认情况下,PHP 将在命令行上写入 stderr。如果文件不可写,它也会回退到 stderr。确保文件是可写的 "chmod +w ./mylog.txt"
-
var_dump 与会话或错误报告/日志记录完全无关。和使用 echo 没什么区别
-
laura:这意味着代码没有被执行,这就是为什么没有行号的原因。看起来您的问题不在于日志记录,而可能是您正在运行“php -S”的地方?你运行php -S的目录下是否有index.php?
-
我完成了以上所有操作,但它仍然没有记录任何内容......我想我要问的是我如何
var_dump使用普通 PHP 进行任何操作,更具体地说,它应该显示在哪里起来了吗?
标签: php debugging error-handling