提问人:user3885442 提问时间:7/29/2014 最后编辑:user3885442 更新时间:2/20/2015 访问量:2081
PHP 解析错误导致连接重置
PHP parsing error causes connection reset
问:
我已经在同一系统上编码了几年,但最近我错过了一个右括号},浏览器给了我一个“连接重置”错误,而不是描述性错误。
这是在localhost(windows vista,PHP版本5.2.5,apache2.2)上,我有display_errors,开发环境,Php.ini文件是错误报告。自此问题发生以来,这些都没有改变。E_ALL & E_STRICT & E_NOTICE
更奇怪的是,我写了一个简单的phpinfo()文件,当我在firefox中点击它时,它会显示,然后在最后重置连接。使用 chrome,似乎有效。
我很困惑,但刚刚注意到当我显示 phpinfo 页面时,error_reporting在 php.ini 文件中为 0,.没有其他东西可以凌驾于此之上。error_reporting=E_ALL & E_STRICT & E_NOTICE
更新:我发现即使是简单的错误(引用不存在的值,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) 在我的生产服务器上 - 显示解析错误。
答:
我最终重新安装了 Apache 和 PHP,这解决了问题,但是,当这种情况开始发生时,我没有对 php5apache.dll 或配置文件进行任何更改。如果其他人看到过这个,我很想知道你是否对可能发生的事情有任何想法。
谢谢
我今天遇到了完全相同的问题,已升级到 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.
评论
我遇到了类似的问题(错误报告未显示在生产环境中)同样在服务器一年的大部分时间里一直是开发环境的相同情况下,我重新安装了 apache 和 php,但在重新安装之前还进行了引导扫描,找到了一个 babylon rootkit。
评论
error.log