使用未定义的常量MCRYPT_BLOWFISH - 假设为'MCRYPT_BLOWFISH'

时间:2016-03-22 15:20:43

标签: php magento ampps

我正在使用Magento 2.安装了一个主题,我想升级我的系统。 (我在Mac上使用AMPPS)

php bin/magento setup:upgrade

当我在终端中命令这些行时,得到错误:

  

[ErrorException]         使用未定义的常量MCRYPT_BLOWFISH - 假设为'MCRYPT_BLOWFISH'

我该如何调试和解决它?感谢。

3 个答案:

答案 0 :(得分:3)

MCRYPT_BLOWFISH是一个PHP常量。此常量由mycrypt扩展名定义。如果您的PHP版本安装了mcrypt,则会出现此常量。您看到的错误消息

  

使用未定义的常量MCRYPT_BLOWFISH - 假设为'MCRYPT_BLOWFISH'

告诉你这个常数存在。这意味着没有为您正在运行的PHP版本安装或启用mycrypt。您需要安装或启用mcrypt。

一些陷阱。

  • 您在命令行上运行的PHP版本可能与您用于Apache / nginx的PHP版本不同。 $ which php$ php -vphp --info可以告诉您CLI的可用内容

  • 您可以安装扩展程序,但通过php.ini文件禁用。您可以在上面的php.ini调用中找到您正在使用的--info个文件,方法是运行一个调用phpinfo()$ php --ini

    的小程序

答案 1 :(得分:0)

  • 如果您使用的是PHP 7.1,则运行以下命令将解决您的mcrypt问题。

sudo apt-get install php7.1-mcrypt

根据您的系统更改php版本,希望对您有所帮助。 安装后不要忘记重新启动apache服务器

如果它有助于将其标记为答案

答案 2 :(得分:-1)

在OSX上检查来自AMPPS(AMPPS-> PHP-> PHP扩展)的扩展的mcrypt后,参考解决问题MAGENTO 2 ON AMPPS:

我打字:

cd /Applications/AMPPS/www/magento/bin/

php bin/magento indexer:reindex

我发现了以下错误:

  

[异常]
  注意:使用未定义的常量MCRYPT_BLOWFISH - 假设   ' MCRYPT_BLOWFISH' /应用程序/ AMPPS /网络/ magento的/供应商/的magento /框架/加密/ E   第397行的ncryptor.php

我解决了如下:

来自命令行和来自家庭:

sudo vi .bash_profile

插入一行:export PATH="/Applications/AMPPS/php-5.6/bin:$PATH" 使用AMPPS使用的php版本并重新启动命令行,这样magento将使用正确的PHP版本午餐重新索引:

cd /Applications/AMPPS/www/magento/bin/

php bin/magento indexer:reindex

如果您在没有前往/Applications/AMPPS/www/magento/bin/的情况下午餐重新编码,可以添加.bash_profile,另外一行如下:

在家打开.bash_profile

vi bash_profile

插入一行:

export PATH="/Applications/AMPPS/www/magento/bin:$PATH"

然后重启终端只按命令:

php bin/magento indexer:reindex