好一陣子了,現在這台安裝有lifetype、moodle、gallery2的主機,在erroe_log上一直有很多怪怪的錯誤訊息,導致華龍部落格裡的網誌常會出現白白的一片,看不到內容。
去看erroe_log ,就會發現有一堆如下的錯誤訊息:
child pid 30221 exit signal Segmentation fault (11)
每每只好將httpd restart後就又恢復正常,縣網部落格主機,也一樣有這樣的問題,上網搜尋資料,也找不出解答,實在很頭痛!所以目前暫時的解決方法,只好將httpd restart寫進crontab,讓主機定時重啟httpd。
華龍部落格跟縣網部落格兩台主機,都一樣是CentOS4.4,也都安裝LifeType1.2,Tommy前一陣子寫過這一篇「 Apache 出現 child pid XXXX exit signal Segmentation fault (11) 該如何處理?」,難道真的是LifeType的關係嗎?不確定!
在error_log上,另一個很常見的錯誤訊息
PHP Warning: Invalid argument supplied for foreach() in /var/www/html/gallery2/modules/customfield/classes/CustomFieldHelper.class on line 233
去Gallery2官網,我還沒找到相關訊息或解答,不過在東找西找時,好像有看到某篇文章寫到有可能是「eAccelerator」的關係,這才又讓我想到,這兩台主機也都安裝有eAccelerator,那又會是這個的關係嗎?
在「Gallery 2 Performance Tips」 裡,有提到一點
Use a PHP Accelerator/Cache, recommended is eaccelerator among others. The Zend Optimizer is not a opCode cache and doesn't improve G2 performance very much. A true PHP cache can improve G2 performance dramatically. See: List of PHP accelerators.
哇!會是這Zend 嗎?
在之前「 安裝eAccelerator」時,我就是將eAccelerator設定成 Zend extension,所以呢!剛剛立刻去改成php extension 。
現在怎麼辦呢? 等啊!觀察看看,看看error_log是不是還會有這些錯誤訊息,若再不行,再試試把Accelerator關掉看看了。
剛剛仔細看一下縣網部落格那台主機的errot_log,發現一些記錄
[error] [client 66.249.65.244] File does not exist: /var/www/lifetype-1.2/883
[error] [client 66.249.65.244] File does not exist: /var/www/lifetype-1.2/1611
[error] [client 66.249.65.244] File does not exist: /var/www/lifetype-1.2/122
[error] [client 66.249.65.244] File does not exist: /var/www/lifetype-1.2/883
[notice] child pid 30463 exit signal Segmentation fault (11)
[notice] child pid 30499 exit signal Segmentation fault (11)
[notice] child pid 30493 exit signal Segmentation fault (11)
每當出現上面的[notice] child pid 30463...時,都會有一些IP 66.249.65.244的紀錄產生,去DNS stuff查詢這IP,這IP應該就是GoogleBot 搜尋引擎機器人。之前Mark有寫一篇文章「LifeType 自訂網址的 404 Error」,想了想,之前我有根據Tommy的這一篇「把 /blog/ 由 LifeType 的 URL 中移除」來修改過LifeType。
這又是個線索,不知道是不是因為這樣,總之先把/blog/再加回去吧!再繼續觀察囉!
而在學校這台主機的error_log上,則常會出現的是
[client 66.249.72.20] PHP Warning: Invalid argument supplied for foreach() in /var/www/html/gallery2/modules/customfield/classes/CustomFieldHelper.class on line 233
[Sun Apr 29 06:43:50 2007] [notice] child pid 15675 exit signal Segmentation fault (11)
錯誤的是電子相簿gallery2上的問題,上面的IP一樣是Google的搜尋機器人,為何會這樣呢?現在只能猜測是eaccerlator與gallery2兩者之間的問題了。
繼續看看吧!