PHP&;MongoDB=502 Nginx响应,无错误日志条目

PHP&;MongoDB=502 Nginx响应,无错误日志条目,mongodb,nginx,php,Mongodb,Nginx,Php,每当我试图从PHP内部连接到MongoDB时,我的PHP进程就会崩溃 $options = array( 'replicaSet' => false, 'persist' => false, 'connect' => false, 'username' => false, 'password' => false ); $mongo = new \Mongo('m

每当我试图从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错误日志中没有任何内容(如果我在异常发生之前抛出异常,则会记录该异常)。但是,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扩展
  • 苏霍辛v0.9.32.1
我如何调试看似实际的bug? 更新: 我刚刚将我的操作系统升级到ubuntu 12.04 LTS

  • PHP版本5.3.10-1ubuntu3.2(API 20090626)
  • MongoDB 1.2.12扩展
  • 苏霍辛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]

尝试使用Mongo1.2.11。似乎1.2.10在php fpm方面存在问题。

问题似乎在于Mongo对my
$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);

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

5.3.6是一个旧的有bug的版本,您应该先更新它。好的,我更新到了
MongoDB 1.2.12
,但是问题仍然存在。是的,这是一个连接问题,如果使用默认选项,请尝试新的Mongo()。在我的例子中,问题是MongoDB服务器停机。