PHP composer install 遇 mongodb 安装异常
接手的 Laravel 项目因为之前执行了 composer 命令引入 mongodb 扩展包,初始化该项目的时候,需要安装这个扩展包。
composer require mongodb/mongodb
在拉取代码后,由于电脑没有 1.5 版本 ext-mongodb 的PHP扩展,执行 composer install 后就报异常了。
Problem 1
- mongodb/mongodb 1.4.x-dev requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb is missing from your system.
- mongodb/mongodb 1.4.x-dev requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb is missing from your system.
- Installation request for mongodb/mongodb 1.4.x-dev -> satisfiable by mongodb/mongodb[1.4.x-dev].
To enable extensions, verify that they are enabled in your .ini files:
- /etc/php.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
使用 pecl 安装 mongodb
下载安装 pear:
curl -O https://pear.php.net/go-pear.phar
sudo php -d detect_unicode=0 go-pear.phar
键入 :1 回车
键入 :/usr/local/pear 回车
键入 :4 回车
键入 :usr/local/bin 回车
检查是否安装成功 :
pear version
安装成功:
PEAR Version: 1.10.12 PHP Version: 7.3.11 Zend Engine Version: 3.3.11 Running on: Darwin MacBook-Pro19.local 19.4.0 Darwin Kernel Version 19.4.0: Wed Mar 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64 x86_64
安装 mongodb:
sudo pecl install mongodb
使用 pecl 安装 mongodb 的时候,又遇到一个错误:
running: phpize grep: /usr/include/php/main/php.h: No such file or directory grep: /usr/include/php/Zend/zend_modules.h: No such file or directory grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory Configuring for: PHP Api Version: Zend Module Api No: Zend Extension Api No: autom4te: need GNU m4 1.4 or later: /usr/bin/m4 ERROR: `phpize' failed
依次执行:
curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-latest.tar.gz tar xzf autoconf-latest.tar.gz cd autoconf-* ./configure --prefix=/usr/local make sudo make install
最后重新执行安装命令:
sudo pecl install mongodb

浙公网安备 33010602011771号