【发布时间】:2010-12-20 15:12:59
【问题描述】:
我有一个 PHP 脚本,它在 PHP 警告时停止处理(似乎是)。错误是一般的“PHP警告:fopen”-“无法打开流:没有这样的文件或目录”。
PHP 应该停在这里吗?我只考虑致命错误?
有没有办法让它继续?
【问题讨论】:
-
您是否检查过您的 php 版本是否真的因警告而退出?尝试只包含
<?php fopen('doesnotexist', 'rb'); echo 'if you can read this...';的新脚本 -
OP 是正确的,PHP 不会因报告或显示的警告而停止。除了使用特殊处理程序之外,唯一的配置是使用 Xdebug,请参阅stackoverflow.com/questions/10520390/…,我知道可以做到这一点。如果您安装了 xdebug 模块并且
xdebug.halt_level包含E_WARNING,那么 PHP 将在系统警告时停止。当然,我们想删除警告,但系统仍然不应该停止它们,除非我们想要这样做。所以,答案是 OP 应该检查他的配置设置。 -
我在全新安装时遇到了同样的问题; PHP 对脚本进行预处理,当它遇到通知时,它将它们转储到输出缓冲区,但显然不执行任何代码?
标签: php error-handling