目前做了一台公网的测试机,主要是 php 5.3.3 版本,是 browser --> nginx --> apache --> php
今天因为想要安装一个商城,要求需要 Php >= 5.3.4 ,而且更重要的是需要 zendframework ,看到php的一个扩展为 eaccelear 顺手就安装了。悲剧出现了。
访问任何页面出现错误,检查 nginx 和 apache 的日志,都没发现问题,只是在 apche 的日志中有这么一条:
child pid 29023 exit signal Segmentation fault (11)
冥思苦想不得结果,但知道肯定是它引起的,为何了,在google上搜索了下,终于看到了这个:
http://bbs.csdn.net/topics/390419724
导致错误原因多种,需要具体问题具体分析
1. 使用mmcache模块在linux x86-64上有问题
2. 由于php编译安装过程有问题,或者apache+php安装完成后,PHP又重新编译安装过,同时apache也重新编译就会产生这种现象.建议保留httpd.conf和相关配置文件后,重新安装一遍apache+PHP,注意先后顺序,如果还是会有这个提示,请更换php版本重装.
3. php的模块zend_extension和extension冲突 【恍然大悟,上午查找 zendframkwork 时,顺手就把这个安装了,卸载先。一切正常】
4. 由于使用了APC造成的,这是这类op-code缓存优化软件共同的问题.建议用最新版本试试(http://pecl.php.net/package/APC).一旦出现,只能重起apache.
5. /tmp目录文件太多,删除后正常
6. 配置模式为worker, 改为prefork
7. ZendOptimizer-3.3.0 与 jdk1.7.0冲突
8. web访问的某些特殊文件造成的,检查access_log可以看到,删除文件