2012-07-23 90 views
3

我遇到了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] 
+0

5.3.6是舊的和buggy的版本,你應該先更新它。 – VBart 2012-07-23 20:27:06

回答

0

看來問題在於Mongo處理我的$options數組。

$options = array(
    'replicaSet' => false, 
    'persist' => false, 
    'connect' => false, 
    'username' => false, 
    'password' => false 
); 

$mongo = new \Mongo('mongodb://localhost:27017', $options); 

崩潰的過程,而下面的作品

$options = array(
    'replicaSet' => false, 
    'persist' => false, 
    'connect' => false, 
    //'username' => false, 
    //'password' => false 
); 

$mongo = new \Mongo('mongodb://localhost:27017', $options); 

基本上,除非你需要太不通過用戶名或密碼。我想這真的是一個錯誤。

+0

是它的一個連接issu,如果你使用默認選項,只嘗試新的Mongo()。在我的情況下,問題是MongoDB服務器停機。 – 2012-09-20 12:52:10

0

嘗試使用Mongo 1.2.11。看來1.2.10與php-fpm有問題。

+0

好的,我更新到'MongoDB 1.2.12',但問題仍然存在。 – Xeoncross 2012-07-24 14:35:11