PHP:在文件中记录错误但不将它们显示给 POST/GET 请求
Posted
技术标签:
【中文标题】PHP:在文件中记录错误但不将它们显示给 POST/GET 请求【英文标题】:PHP: log errors in file but don't display them to POST/GET requests 【发布时间】:2017-02-24 17:48:24 【问题描述】:我想将所有 php 错误记录到一个日志文件中,但我不想将它们显示给用户。
我在php.ini
中使用如下配置
track_errors=On
error_reporting = E_ALL
log_errors=On
display_errors = Off
error_log = php-error.log
date.timezone = Europe/Berlin
我现在面临的问题:
我使用 Ionic 应用程序。这请求我的服务器上的一些 php 文件。当这个 php 文件包含一些警告时,它们也会被传输,并且 Ionic 应用程序停止工作,因为它只需要一个带有 callback
的 jsonp
响应,并且不允许任何回显语句或类似的东西。所以我在每个文件的开头使用error_reporting(0);
,但这又完全关闭了错误。
如何完全关闭错误的传输/显示,并将它们写入文件?
【问题讨论】:
display_errors = Off 应该可以解决问题,您确定您使用的是正确的 php.ini 文件吗?您需要在 php.ini 更改后重新启动服务器才能使其生效。 我使用的是托管服务器。我不确定我是否可以重新启动这台机器。但如果我可以信任phpinfo();
,那么display_errors
应该关闭。
如果你把 ini_set('display_errors', '0');在你的 php 脚本的顶部?
【参考方案1】:
另一个解决方案是实现您自己的错误处理程序脚本/类,您可以将其包含在您的项目或应用程序的每个脚本中。这将允许您利用记录任何您想要的错误。
【讨论】:
以上是关于PHP:在文件中记录错误但不将它们显示给 POST/GET 请求的主要内容,如果未能解决你的问题,请参考以下文章
让 Maven2 将资源复制到构建目录,但不将它们捆绑在 JAR 中