PHP和MongoDB = 502 Nginx的响应和没有错误日志条目

每当我尝试从PHP内部连接到MongoDB时,我的PHP进程都崩溃了。

$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错误日志中没有任何事情发生(如果我在它之前抛出一个exception,则会loggingexception)。 但是,FPM和系统日志会捕获以下条目。 就好像PHP只是在任何可以被logging之前翻转并崩溃。

 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

我怎样才能debugging似乎是一个实际的错误?

更新:

我刚升级我的操作系统到Ubuntu 12.04 LTS

  • 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] 

尝试使用Mongo 1.2.11。 看来1.2.10与php-fpm有问题。

看来问题在于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); 

基本上,除非你需要,否则不要传递用户名或密码。 我想这真的是一个错误。