如何在 OS X 上使用 PHP7 在 MAMP 上安装 mongodb php 驱动程序?

Posted

技术标签:

【中文标题】如何在 OS X 上使用 PHP7 在 MAMP 上安装 mongodb php 驱动程序?【英文标题】:How to install mongodb php driver on MAMP with PHP7 on OS X? 【发布时间】:2016-04-04 22:33:07 【问题描述】:

我在 MAMP 3.5 OS X El Capitan 上安装用于 php 的新 mongoldb 驱动程序时遇到问题。我输入了 MAMP 的 php7 二进制文件的路径。我还下载了 php7 源,未归档并在 /Applications/MAMP/bin/php/php7.0.0/ 中创建了一个目录 include,我在其中移动了下载的 php 源(将包含目录重命名为“php”)。所以现在除了 MAMP 原始文件之外,我还有/Applications/MAMP/bin/php/php7.0.0/include/php。我不确定我是否推动了某些事情。当我跑步时

sudo pecl install mongoldb

我收到以下错误:

downloading mongodb-1.1.1.tgz ...
Starting to download mongodb-1.1.1.tgz (642,977 bytes)
.................................................................................................................................done: 642,977 bytes
349 source files, building
running: phpize
Configuring for:
PHP Api Version:         20151012
Zend Module Api No:      20151012
Zend Extension Api No:   320151012
cp: acinclude.m4: No such file or directory
cp: Makefile.global: No such file or directory
cp: config.sub: No such file or directory
cp: config.guess: No such file or directory
cp: ltmain.sh: No such file or directory
cp: run-tests*.php: No such file or directory
cat: acinclude.m4: No such file or directory
/Applications/MAMP/bin/php/php7.0.0/bin/phpize: line 155: /Applications/MAMP/bin/php/php7.0.0/lib/php/build/phpize.m4: No such file or directory
autoconf: error: no input file
ERROR: `phpize' failed

有人设法在 OS X 上的 MAMP 上安装新的 mongodb php 驱动程序吗?我做错了吗?有什么建议吗?

部分链接:http://mongodb.github.io/mongo-php-driver/#installation, https://github.com/mongodb/mongo-php-driver, https://pecl.php.net/package/mongodb

谢谢。

【问题讨论】:

您找到解决方案了吗? 您找到解决方案了吗? 您找到解决方案了吗? 这是一个简单的工作后我想出了这个***.com/q/49009325/10487827 【参考方案1】:

似乎 MAMP 3.5 的 PHP 7.0.0 版本缺少关联的 lib/php 目录中的 build 目录,这就是您收到错误的原因:

/Applications/MAMP/bin/php/php7.0.0/lib/php/build/phpize.m4: No such file or directory

只需从其他 PHP 版本之一复制 build 目录,例如/Applications/MAMP/bin/php/php5.6.10/lib/php/build/Applications/MAMP/bin/php/php7.0.0/lib/php/build

我已经安装了一些带有此修复程序的 PECL 模块,它们运行良好。

希望这只是 MAMP 打包中的一个错误,将在 3.5 之后的版本中修复。

【讨论】:

谢谢。我也注意到从原始 php 构建不起作用,但从旧 MAMP 的 php 构建对我有用。 这救了我。像其他评论者一样,即使使用 PHP.net 的原始资源,我也无法构建我的模块。然而,MAMP 5.6 文件运行良好。就我而言,我是从 PECL 安装 Redis。【参考方案2】:

我遇到了同样的问题,这对我来说效果最好:

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

您需要更新 php.ini 并添加以下行:

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

重启 MAMP 服务器,大功告成!

【讨论】:

以上是关于如何在 OS X 上使用 PHP7 在 MAMP 上安装 mongodb php 驱动程序?的主要内容,如果未能解决你的问题,请参考以下文章

在mac php7.2 MAMP上安装mcrypt

MAC OS X:MAMP 环境和虚拟主机

如何在 MAC Sierra (MAMP) 上为 PHP7.1 启用 OPCache

os x MAMP apache 虚拟主机 laravel 项目配置错误

如何在 Mac OS X Snow Leopard 上启用 mysqli?

在 OS X Yosemite 上设置 Apache 2.4.9 时遇到问题