macOS High Sierra 10.13.3 上 XAMPP 7.2.4 的 mongodb 3.6.4
Posted
技术标签:
【中文标题】macOS High Sierra 10.13.3 上 XAMPP 7.2.4 的 mongodb 3.6.4【英文标题】:mongodb 3.6.4 for XAMPP 7.2.4 on macOS High Sierra 10.13.3 【发布时间】:2018-10-28 23:37:31 【问题描述】:我在我的mac上通过brew安装了Mongodb并将扩展添加到php.ini,但是重启XAMPP后模块没有加载。
Mongo 已安装:
me:~ me$ mongo --version
MongoDB shell version v3.6.4
git version: d0181a711f7e7f39e60b5aeb1dc7097bf6ae5856
OpenSSL version: OpenSSL 1.0.2o 27 Mar 2018
allocator: system
modules: none
build environment:
distarch: x86_64
target_arch: x86_64
Mongo 正在运行:
me:~ me$ mongo
MongoDB shell version v3.6.4
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.4
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
php.ini 有正确的 extension_dir 和 extension:
me:~ me$ grep mongo /Applications/XAMPP/xamppfiles/etc/php.ini
extension=mongodb.so
me:~ me$ grep extension_dir /Applications/XAMPP/xamppfiles/etc/php.ini
; extension_dir = "./"
; extension_dir = "ext"
; Be sure to appropriately set the extension_dir directive.
extension_dir=/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20170718/
还有司机在那儿:
me:~ me$ ls /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20170718/
mongodb.so opcache.so pdo_dblib.so pgsql.so
opcache.a pdo_dblib.a pgsql.a
phpinfo() 显示正确的 extension_dir,但不加载 mongodb 模块,显然因此我不能使用它。但是xampp重启后不会报错。
如果有人有提示,我很乐意听到。
【问题讨论】:
【参考方案1】:问题是旧的 PHP 驱动类,你应该使用 php-mongo 包而不是 php-mongodb。 如何解决问题 转到 /Applications/XAMPP/xamppfiles/bin 并运行 sudo pecl 安装 mongo-1.5.8 几秒钟后你会看到 使用 Cyrus SASL(MongoDB 企业身份验证)支持构建? [不] : 输入 no 并输入 您必须在 php.ini 中将扩展名更改为 mongo.so
【讨论】:
以上是关于macOS High Sierra 10.13.3 上 XAMPP 7.2.4 的 mongodb 3.6.4的主要内容,如果未能解决你的问题,请参考以下文章
在macOS High Sierra 10.13.3上的Grails中的FixtureException
macOS High Sierra 10.13.3 上 XAMPP 7.2.4 的 mongodb 3.6.4
PhpStorm 2017.3 版本在 Mac 系统 macOS High Sierra 版本 10.13.3 中运行很卡顿