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
posted @ 2021-03-06 01:17  安逺  阅读(548)  评论(0)    收藏  举报