安装PECL
//php版本 > 7
$ wget http://pear.php.net/go-pear.phar
$ php go-pear.phar
//php版本 < 7
$ yum install php-pear
//否则会报错PHP Parse error: syntax error, unexpected //'new' (T_NEW) in /usr/share/pear/PEAR/Frontend.php on //line 91
安装扩展
$ pecl install mongodb
And if I try to install mongodb for example, I'll get the same warnings as before with an extra "XML Extension not found" at the end.
I compared the "/usr/bin/pecl" with one from ubuntu and the only difference is the "-n" in the exec line :
alpine:
exec $PHP -C -n -q $INCARG -d date.timezone=UTC -d output_buffering=1 -d variables_order=EGPCS -d safe_mode=0 -d register_argc_argv="On" $INCDIR/peclcmd.php "$@"
-n meaning: "No configuration (ini) files will be used"
If not using conf, xml won't be loaded, so I'm pretty sure the "-n" should be removed.
I tested after removing it, and got no warning or anything and was able to install my extension.
以上问题的解决方式:
vi /usr/bin/pecl
remove -n para
删除 -n 参数
安装完毕后,添加库到php.ini
extension=mongodb.so
安装 PHPLIB
http://php.net/manual/zh/mongodb.tutorial.library.php
https://getcomposer.org/download/
安装完毕后,安装 PHP Library for MongoDB (PHPLIB)$ composer require mongodb/mongodb``<br/>最新版本的命令是:<br/>
$ composer.phar require mongodb/mongodb`
一切正确后,在当前目录下,生成:vendor目录,OK