PHP 升級 PECL 遇到下述訊息:
$ sudo pecl upgrade
Warning: Invalid argument supplied for foreach() in Command.php on line 249
PHP Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249Warning: Invalid argument supplied for foreach() in Command.php on line 249
PHP Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249Warning: Invalid argument supplied for foreach() in PEAR/Command.php on line 249
PHP Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249Warning: Invalid argument supplied for foreach() in PEAR/Command.php on line 249
PHP Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249XML Extension not found
要如何修復呢?
PHP PECL 升級遇到 Command.php、XML 的錯誤修正
在上述的訊息裡面,最主要的訊息就是在「XML Extension not found」。
PHP PECL upgrade XML 錯誤的解法
- sudo apt install php7.3-xml # 直接安裝最新版的 XML extension 即可
- sudo pecl upgrade # 即可正常執行
若 XML 裝了還沒解決,就要從 PHP版本、phpize、php-config 連接的版本來追,例如考慮下述設定(請確定 phpize、php-config 確實有此執行檔)
- sudo update-alternatives --set php /usr/bin/php7.3
- sudo update-alternatives --set phpize /usr/bin/phpize7.3
- sudo update-alternatives --set php-config /usr/bin/php-config7.3