2014-4-13日补充:
今天本地搭建了相同环境进行测试,最终发现问题所在,原来是由于php.ini中加载zend扩展的时候,用的extension进行引用
[Zend]
zend_loader.enable=1
zend_loader.disable_licensing=0
extension=/usr/local/zend/ZendGuardLoader.so
红色标记位置该改为 zend_extension即可。
===========================================================================
近日新开的vps都是centos6的,按照往常一样配置好web服务器,如下:
httpd/2.2.15 php/5.3.3 with eAccelerator with Zend Guard Loader v3.3修改好apache配置文件后,习惯性的先检查配置文件
/etc/init.d/httpd configtest
/etc/init.d/httpd reload本来应该是一切无误的,打开网址测试,竟然无法打开,检查apache运行状态,竟然挂了
/etc/init.d/httpd status
看来是有问题,百度&google一阵后无果,手动开启apache,测试了下,只有reload才会挂掉,暂且搁置了,先把网站上线再说。运行了几日,毫无突然挂掉的迹象,仅仅在error_log中看到有大量级别为notice的错误如下:
[Wed Apr 09 00:10:17 2014] [notice] child pid 14786 exit signal Segmentation fault (11)
首先把apache的错误日志调到debug级别,尝试reload命令后,错误依旧,但日志记录并未有异常。
然后才想起查看下系统日志:
tail -f /var/log/messages查看到有2条跟php有关的错误:
Apr 9 15:57:15 localhost kernel: php[4924]: segfault at 65fd47 ip 0065fd47 sp bfa63660 error 14 in libkrb5.so.3.3[765000+d6000] Apr 9 16:00:20 localhost kernel: php[4934]: segfault at d8ed47 ip 00d8ed47 sp bfbaa830 error 14 in libpthread-2.12.so[f22000+17000]
由此看来,可能由于rpm安装的php本身的一些问题,再加上zendguardLoader,产生了异常,所以导致apache跟着受了影响。
这块知道的不多,所以只能是这么说了,了解这块的可以指教一下。