PHP – error_log()不会打印到文件
标题几乎说明了一切.我一直在试着整天都在努力工作.我正在创建基于
PHP的登录系统,我需要做一些调试.对我来说,最有用的是能够在整个PHP程序的某些点将调试消息写入文件.根据文档,看起来这就是error_log()应该做的事情,但尽管我尝试了一切,但我完全没有成功.我在下面尝试过的所有内容的完整列表:
>在/etc/php/7.0/apache2/php.ini中添加了以下内容 error_reporting = E_ALL display_errors = On log_errors = On >此外,尝试将error_log设置为/ usr /,/ var / www / http /和/ home /中的位置 我真的找不到其他东西试试谷歌,所以我想我会问专家,我在这里.如果有人可以提供任何建议,将不胜感激. 解决方法
我想日志是写入sys日志的,因为在error_log()中你没有提供目的地.
请尝试以下代码 error_log("An error occured",3,"/var/tmp/my-errors.log"); 确保这个文件可以通过php读取fpm或www-data,具体取决于你可以在触摸之前创建它的配置,并使用chmod手动添加权限 3表示目标是文件 如果你使用apache,那么检查httpd.conf或任何其他地方(v可能出现ErrorLog的位置 ErrorLog "/var/log/apache2" 然后检查此文件是否具有以下用户组和ls -la ll等. -rwxrwxr-x 1 www-data www-data 应该出现这样的事情. 另一个选项是在适当的php.ini中设置以下(CLI和apache有不同的php.ini文件) error_log = /var/log/phperrors.log 然后 touch /var/log/phperrors.log chown www-data: /var/log/phperrors.log chmod +rw /var/log/phperrors.log 没有奇迹但是如果它仍然不起作用你可以使用set_error_handler()编写和注册你自己的错误处理程序,你可以在php manual找到如何做的例子.它更像是黑客,但它肯定会起作用.如果它不会那么它意味着根本没有触发错误那么你应该看看你是否编辑了正确的php.ini或者在触发错误之前使用ini_set(). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 理解多部分消息的PHP SOAP客户端?
- php – 如何将自定义掩码应用于Python中的数字字符串?
- PHP中使用register_shutdown_function函数截获fatal error示
- php – 列出依赖于特定GitHub存储库/库/依赖项的所有存储库
- php – 从子数组mongo文档中删除元素
- php – 如何从mod_rewrite规则中排除CSS,JS,JPG,GIF文件?
- PHP与MySQL开发中页面乱码的产生与解决
- php – 如何使用javascript发布表单变量,就像type =“submi
- php生成静态html页面的方法(2种方法)
- PHP数据库编程之MySQL优化策略概述