【发布时间】:2018-03-06 23:05:37
【问题描述】:
标题几乎说明了一切。我一直在扯头发,试图让这个工作一整天。我正在创建一个基于 PHP 的登录系统,我需要进行一些调试。现在对我来说最有用的是能够在整个 PHP 程序的某些点将调试消息写入文件。根据文档,这似乎是 error_log() 应该做的,但尽管我尝试了一切,但我绝对没有成功。我在下面尝试过的所有内容的完整列表:
-
将以下内容添加到
/etc/php/7.0/apache2/php.inierror_reporting = E_ALL display_errors = On log_errors = On 此外,尝试将
error_log设置为/usr/、/var/www/http/和/home/内的位置使用
ini_set()和error_reporting()设置所有这些变量,包括PHP 文件中的error_log手动创建应该写入的文件,并将其拥有的用户和组设置为
www-data,并将其权限设置为777最后但同样重要的是,重新安装
libapache2-mod-php7.0和php7.0无济于事除了在我即将死去之前用我的笔记本电脑打破我办公楼的 3 层窗户之外,基本上所有的事情都没有
我真的在 Google 上找不到其他可以尝试的东西,所以我想我会问专家,我就在这里。如果有人能提供任何建议,将不胜感激。
【问题讨论】:
-
不是发送到系统日志吗?您是否使用 error_log 的第三个参数 $destination?
-
我会仔细检查 php 运行的用户和组。 PHP 可能没有更新文件的权限。
-
@Robert 我们环顾四周 /var/logs 并找不到任何东西。我们确实使用了 error_log 的第三个参数。
-
使用 php 脚本创建任何文件并查看是哪个用户使用“LS”创建了该文件,然后检查该用户是否有权在您提供的目录中写入/创建日志文件