目前做了一台公網的測試機,主要是 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可以看到,刪除文件