我遇到了PHP進程崩潰的問題,每當我嘗試從PHP內部連接到MongoDB時。PHP和MongoDB = 502 Nginx響應和無錯誤日誌條目
$options = array(
'replicaSet' => false,
'persist' => false,
'connect' => false,
'username' => false,
'password' => false
);
$mongo = new \Mongo('mongodb://localhost:27017', $options);
以下php-cli
代碼工作雖然罰款:
$ php -a
php > $mongo = new \Mongo('mongodb://localhost:27017');
php > var_dump($mongo);
object(Mongo)#1 (4) {
["connected"]=>
bool(true)
["status"]=>
NULL
["server":protected]=>
string(25) "mongodb://localhost:27017"
["persistent":protected]=>
NULL
}
然而,有沒有在PHP錯誤日誌時發生這種情況(如果我拋出一個異常,前右它,即例外是記錄)。但是,FPM和系統日誌會捕獲以下條目。就好像PHP只是在可以記錄任何事情之前翻轉並崩潰一樣。
php5-fpm.log: WARNING: [pool www] child 9261 exited on signal 11 (SIGSEGV)
after 57.894803 seconds from start
syslog: localhost kernel: [12191.961070] php5-fpm[9261]: segfault at 8 ip
00007f5329b1b371 sp 00007fff37343b68 error 4 in libc-2.13.so[7f5329a97000+197000]
- PHP版本5.3.6-13ubuntu3.8(API 20090626)
- MongoDB的1.2.10擴展
- 了Suhosin v0.9.32.1
我怎樣才能調試什麼似乎是一個實際的錯誤?
更新:
我升級我的操作系統Ubuntu的LTS 12.04
- PHP版本5.3.10-1ubuntu3.2(API 20090626)
- MongoDB的1.2.12擴展
- 了Suhosin v0.9.33
但是我仍然有問題。
syslog: kernel: [ 6727.997940] php5-fpm[9012]:
segfault at 8 ip 00007f1fdf8cab91 sp 00007fff7f07a4a8 error 4
in libc-2.15.so[7f1fdf842000+1b3000]
5.3.6是舊的和buggy的版本,你應該先更新它。 – VBart 2012-07-23 20:27:06