我正在尝试安装magento并且它不断抛出错误“必须加载PHP扩展mcrypt”。当我尝试安装mcrypt时,我收到一条消息,表明它已经安装。
所以我在命令行中运行php -v
,which php
和php -i | grep mcrypt
并返回
PHP 5.4.23 (cli)....
和
/usr/local/bin/php
和
mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value
所以我将phpinfo(); die();
添加到我的index.php magento文件中并返回
版本 5.4.17
配置文件(php.ini)路径 / etc
已加载的配置文件 /etc/php.ini
但没有引用mcrypt
我是否正确地读到,因为magento正在使用不同版本的php来命令行?如果是这样,我该如何解决这种情况?
我正在运行Magento的其他安装,所以当我考虑删除/ etc并让Magento自动选择正确的版本时,我决定反对它,因为我不希望其他安装停止工作。
答案 0 :(得分:0)
回应你的phpinfo()
。通过cmd,可以接收所需的其他信息。您将看到使用的PHP版本以及php.ini所在的位置。
打开php.ini并搜索;php_mcrypt.dll
。删除分号并重新启动Apache。
编辑:对于Linux版本:
apt-get install php5-mcrypt
service apache2 restart
- 重启Apache 如果您收到“已安装”消息,则可以使用:
apt-get --reinstall install php5-mcrypt
确保在php.ini中删除分号:extension=mcrypt.so
答案 1 :(得分:0)
当你说magento正在使用不同的php版本时,你是对的(尽管只有subversion)。您的cli .ini很可能与apache .ini
不同您可以尝试将extension = mcrypt.so添加到/etc/php.ini并重新启动apache