MongoDB php驱动导致apache在XAMPP OS X上失败


MongoDB php driver causing apache on XAMPP OS X to fail

自从升级到Mac OS X El Capitan,如果我尝试在XAMPP中启动apache 'extension=mongo。在php.ini文件中,apache启动失败。如果我删除这个,apache启动正常。我使用pecl命令在XAMPP构建中安装了Mongo。这是新操作系统、驱动程序或XAMPP的问题吗?

编辑:使驱动程序在MAMP上正常工作,问题一定存在于XAMPP

From: https://github.com/mongodb/mongo-php-driver/issues/247

PHP进程加载mongodb然后执行libmongoc的_mongoc_do_init()函数,该函数在使用SASL编译时调用sasl_client_init()。我发现在OS X上的Cyrus SASL的早期版本中,如果客户端在同一进程中多次初始化和销毁,则会导致崩溃;但是,我希望_mongoc_do_init()周围的逻辑确保每个进程只执行一次。我也不确定您安装的SASL的版本(除了文件名中有"2.2"的库),所以我不确定这是否是一个转移注意力的问题。我需要跟进libmongoc开发人员来确认。

在此期间,你能提供你的pecl安装mongodb的日志吗?这里有一些有趣的行与如何配置SASL有关(遗憾的是,不是确切的版本号)。

另外,如果您手动构建驱动程序,您应该能够使用——with-mongodb-sasl=no参数来配置以禁用SASL支持,这可能会解决问题,直到我们可以进一步诊断它。从shell中手动构建的步骤如下:

$ cd /path/to/mongo-php-driver
$ phpize
$ ./configure --with-mongodb-sasl=no
$ make clean && make all && make install

如果要克隆存储库,这也需要初始化git子模块。否则,您应该能够提取PECL tgz文件并使用这些源文件。