PHP72 MongoDB 驱动程序与 OSX 上的 Homebrew

2024-03-02

我有一个问题可能表明我对 Homebrew 与 MongoDB 存在误解:

我正在 Mac OSX 10.12.6 (Sierra) 上运行带有 PHP 7.2.1(我想使用)的 XAMPP(版本)。我安装了 MongoDB 并创建了配置和数据存储文件夹。它在命令行上运行良好(当通过终端使用 mongod 和 mongodb 时)。

现在,我想安装 PHP 7.2.1 的 PHP 驱动程序。我按照以下说明进行操作http://php.net/manual/en/mongodb.installation.homebrew.php http://php.net/manual/en/mongodb.installation.homebrew.php并将它们调整为7.2版本,因此:

$ brew tap homebrew/homebrew-php
$ brew install php72-mongodb

这会在 /usr/local/Cellar 中创建一个 php72 和一个 php72-mongodb 文件夹。但是,我原来的(基于 XAMPP)PHP 位于 /Applications/XAMPP/ 中,而 php 位于 /Applications/XAMPP/etc/php.ini 中。

并简单地添加:

extension="/usr/local/opt/php72-mongodb/mongodb.so"

不会成功的。添加此扩展后,Apache 将不再启动。 /Applications/XAMPP/logs/php_error.log 显示以下错误:

[27-Feb-2018 13:11:59 UTC] PHP Warning:  
PHP Startup: Unable to load dynamic library 'mongodb.so' 
(tried: /Applications/XAMPP/xamppfiles/lib/php/extensions
/no-debug-non-zts-20170718/mongodb.so 
(dlopen(/Applications/XAMPP/xamppfiles/lib/php/extensions/
no-debug-non-zts-20170718/mongodb.so, 9): image not found), 
/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-
20170718/mongodb.so.so 
(dlopen(/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-
non-zts-20170718/mongodb.so.so, 9): image not found)) in Unknown on 
line 0

将我刚刚安装的驱动程序包含/连接到现有 XAMPP 安装的正确方法是什么?我是否需要以某种方式告诉 Homebrew 我的 XAMPP 安装在哪里?

鉴于我的 Homebrew 中也有一个 php 文件夹(以及我的 /usr/local/opt 文件夹),表明我现在有第二个 PHP 安装。这是应该的方式吗?


MAMP自带的PHP版本不完整,需要获取完整版本here https://secure.php.net/releases/.

然后替换你本地的include文件夹,与include该下载版本的文件夹。

转到您的终端并运行./configure,这将安装 MAMP php 的完整副本。

现在您已经准备好 PHP 目录,安装 mongodb 扩展:

cd /Applications/MAMP/bin/php/php(your version ex: 7.2)/bin

然后运行 ​​pecl 安装 mongodb 扩展

./pecl install mongodb

现在你已经安装了 mongodb 但你的 php 应该知道这一点。

转到 php.ini 文件并搜索;Extension在此添加下extension=mongodb.so

然后重新启动服务器就可以了,希望这对您有所帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP72 MongoDB 驱动程序与 OSX 上的 Homebrew 的相关文章

随机推荐