The following error is printed on Magento upgrade via Connect Manager or ./mage
CLI tool:
upgrade-all: Package community/Lib_Varien 1.9.4.5 depends on PHP extensions: Array
Cause
Most likely, mcrypt extension is missing in your PHP stack. You can get list of all installed PHP extensions on your server withphp -m
CLI command or get_loaded_extensions()
function:
$ php -r "print_r(get_loaded_extensions());" $ php -mThe list of all dependencies for Lib_Varien is defined in package.xml file of this package:
<dependencies> <required> <php> <min>5.4.0</min> <max>7.2.99</max> </php> <package> <name>Lib_ZF</name> <channel>community</channel> <min>1.12.10.21</min> <max>1.12.10.21</max> </package> <extension> <name>PDO</name> </extension> <extension> <name>SPL</name> </extension> <extension> <name>curl</name> </extension> <extension> <name>SimpleXML</name> </extension> <extension> <name>dom</name> </extension> <extension> <name>gd</name> </extension> <extension> <name>iconv</name> </extension> <extension> <name>pdo_mysql</name> </extension> <extension> <name>mcrypt</name> </extension> <extension> <name>pcre</name> </extension> <extension> <name>Reflection</name> </extension> <extension> <name>session</name> </extension> </required> </dependencies>
Solution
You can find which PHP extension is missing in your case with something like the following:(output=$(php -m); for extension in PDO SPL curl SimpleXML dom gd iconv pdo_mysql mcrypt pcre Reflection session; do echo -e "$output" | grep -q "^$extension" || echo $extension; done)and install all required extensions with
phpenmod
command. For mcrypt extension it will take a bit longer as for PHP 7.2 the extension is in PECL repository and should be installed as a PECL package.
Posted in: Magento Connect