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

2022-08-30 23:49:37

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

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


答案 1

寄件人: https://github.com/mongodb/mongo-php-driver/issues/247

PHP进程加载 mongodb.so,执行libmongoc的函数,当使用SASL编译时,它会调用sasl_client_init()。我发现在OS X上的早期版本的Cyrus SASL中,如果客户端在同一进程中被多次初始化和销毁,则会出现一些崩溃的参考;但是,我希望周围的逻辑确保它每个进程只执行一次。我也不确定您安装的SASL版本(除了文件名中包含“2.2”的库之外),所以我不确定这是否是一个红鲱鱼。我需要跟进 libmongoc 开发人员进行确认。_mongoc_do_init()_mongoc_do_init()

同时,你能提供你的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 文件并使用这些源。


答案 2

推荐