MongoDB php驱动程序导致XAMPP OS X上的apache失败

Sam*_*Sam 11 php apache xampp macos mongodb

自从升级到Mac OS X El Capitan后,如果我尝试使用php.ini文件中包含的'extension = mongo.so'在XAMPP中启动apache,则apache无法启动.如果我删除它,apache启动正常.使用包含的pecl命令在我的XAMPP构建中安装了Mongo.这是新操作系统,驱动程序还是XAMPP的问题?

编辑:让驱动程序在MAMP上正常工作,问题必须存在于XAMPP中

ada*_*fat 1

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

PHP进程加载mongodb.so并_mongoc_do_init()执行libmongoc的函数,该函数在使用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
Run Code Online (Sandbox Code Playgroud)

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