说实话,我没有使用 Apache 的经验。我只是尽我所能解决这个问题,但不知道我是否做对了。所以任何帮助都将不胜感激。
我们有一个 php 页面,它在浏览器中显示以下消息:
Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.
/var/log/httpd 中的日志似乎没有帮助,因为 Apache 似乎无法写入任何信息。因此,异常或错误阻止了写入(可能发生在无法记录的进程的某个阶段?)。
我已经阅读了有关制作 Apache 转储的过程,这里我们有内容:
Reading symbols from /lib64/libgpg-error.so.0...(no debugging symbols found)...done.
Loaded symbols for /lib64/libgpg-error.so.0
Reading symbols from /usr/lib64/php/modules/zip.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/php/modules/zip.so
Core was generated by `/usr/sbin/httpd'.
Program terminated with signal 11, Segmentation fault.
0 0x00007fb828fff712 in zend_hash_find () from /etc/httpd/modules/libphp5.so
Missing separate debuginfos, use: debuginfo-install httpd-2.2.15-15.el6.centos.1.x86_64
我一直在查看 PHP 文件,但没有发现任何对 zend_hash_find 的直接调用(这似乎是导致错误的原因)。
我一直在 Google 上搜索,但没有找到相关内容。有人能帮忙吗?我需要完成什么步骤才能了解更多信息?
一如既往,非常感谢!
答案1
无法准确解释问题的细节,但事实是它与“eAccelerator”有关(不知道它是否与 Zend 有关,更具体地说是 zend_hash_find)。
为了修复它:
cd /etc/php.d/
mv eaccelerator.ini eaccelerator.ini_
这会禁用该组件。不确定,但我认为我们只是失去了与操作码缓存相关的方面。
感谢所有读者!