【问题标题】:MongoDB php driver causing apache on XAMPP OS X to failMongoDB php驱动程序导致XAMPP OS X上的apache失败
【发布时间】:2016-01-14 21:34:14
【问题描述】:

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

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

【问题讨论】:

    标签: php macos apache mongodb xampp


    【解决方案1】:

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

    PHP 进程加载 mongodb.so 并执行 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 文件并使用这些源。

    【讨论】:

      猜你喜欢
      • 2017-04-18
      • 2016-04-24
      • 1970-01-01
      • 2016-07-23
      • 2018-09-28
      • 2016-01-17
      • 2012-05-30
      • 2015-09-19
      • 2015-02-22
      相关资源
      最近更新 更多