正在使用不同版本的php

时间:2014-02-25 13:56:39

标签: php install ini

我正在尝试安装magento并且它不断抛出错误“必须加载PHP扩展mcrypt”。当我尝试安装mcrypt时,我收到一条消息,表明它已经安装。

所以我在命令行中运行php -vwhich phpphp -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自动选择正确的版本时,我决定反对它,因为我不希望其他安装停止工作。

2 个答案:

答案 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