PHP解析错误导致连接重置

时间:2014-07-28 19:39:27

标签: php apache error-reporting

我已经在同一个系统上编码了几年,但最近我错过了一个近距离}而不是描述性错误,浏览器给了我“连接重置”错误。

这是在localhost上(windows vista,PHP Version 5.2.5,apache2.2)我有display_errors,开发环境,Php.ini文件是错误报告E_ALL & E_STRICT & E_NOTICE。自从出现这个问题以来,这些都没有改变。

奇怪的是,我写了一个简单的phpinfo()文件,当我在firefox中点击它时,它会显示,然后在结束时重置连接。用铬,似乎工作。

我很困惑,但只是注意到,当我显示phpinfo页面时,在php.ini文件中,error_reporting=E_ALL & E_STRICT & E_NOTICE的error_reporting为0。没有别的东西可以超越这个。

更新:我发现即使是简单的错误(引用一个不存在的值,E_STRICT打开)也会导致连接重置问题。

更新2:我知道大多数人会认为这个问题已被回答100次,这是不同的。

2个文件:

ini_set('display_errors','On');
ini_set('display_startup_errors','On');
error_reporting(E_ALL|E_STRICT);
include("file2.php");

file2.php: 有一个解析错误

if(isset($x){echo "HI";}

在我的开发服务器上 - 连接重置(错误500) 在我的生产服务器上 - 显示解析错误。

3 个答案:

答案 0 :(得分:0)

我最终重新安装了Apache和PHP,这解决了这个问题,但是,当这个问题开始时我没有对php5apache.dll或配置文件进行任何更改。如果有其他人看过这个,我有兴趣看看你是否对可能发生的事情有任何想法。

由于

答案 1 :(得分:0)

我今天遇到了完全相同的问题,升级到PHP 5.5并将我的Apache保持在2.2。我花了多次安装让PHP按预期工作,所以我不愿意重新安装。

错误日志:

[Wed Jul 30 09:44:32 2014] [error] [client 127.0.0.1] PHP Parse error:  syntax error, unexpected 'require' (T_REQUIRE) in C:\\Apache2.2\\htdocs\\laravel\\site\\public_html\\index.php on line 22
[Wed Jul 30 09:44:32 2014] [notice] Parent: child process exited with status 255 -- Restarting.
[Wed Jul 30 09:44:33 2014] [notice] Apache/2.2.15 (Win32) configured -- resuming normal operations
[Wed Jul 30 09:44:33 2014] [notice] Server built: Mar  4 2010 11:27:46
[Wed Jul 30 09:44:33 2014] [notice] Parent: Created child process 9992
[Wed Jul 30 09:44:33 2014] [notice] Child 9992: Child process is running
[Wed Jul 30 09:44:33 2014] [notice] Child 9992: Acquired the start mutex.
[Wed Jul 30 09:44:33 2014] [notice] Child 9992: Starting 64 worker threads.
[Wed Jul 30 09:44:33 2014] [notice] Child 9992: Starting thread to listen on port 80.

答案 2 :(得分:0)

我遇到了类似的问题(错误报告没有在生产环境中显示)同样在服务器一年中大部分时间都是开发环境的情况下,我重新安装了apache和php,但也在重新安装之前做了一个靴子,发现了一个巴比伦rootkit。