由于PHP8.1无法使用PECL,所以我进行了修正
我遇到了一个问题,当我尝试升级到PHP8.1并使用pecl进行安装时。我将一直写到解决方法为止。
基本信息
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
$ php -v
PHP 8.1.1 (cli) (built: Dec 31 2021 07:26:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies
请描述一下下面的问题(请以中文回答)。
安装PHP驱动程序时出现了与MongoDB连接的问题。
$ sudo pecl install mongodb
PHP Warning: foreach() argument must be of type array|object, null given in /usr/share/php/PEAR/Command.php on line 249
XML Extension not found
哎呀!找不到XML扩展功能了。
解决问题
那么,我们来安装XML扩展功能吧。
$ sudo apt-get install php-xml php8.1-xml
请重新运行有问题的代码。
$ sudo pecl install mongodb
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update
downloading mongodb-1.12.0.tgz ...
Starting to download mongodb-1.12.0.tgz (1,392,375 bytes)
...................................................................................................................................................................................................................................................................................done: 1,392,375 bytes
633 source files, building
由於順利執行,所以一切OK。