我正在使用Magento 2.安装了一个主题,我想升级我的系统。 (我在Mac上使用AMPPS)
php bin/magento setup:upgrade
当我在终端中命令这些行时,得到错误:
[ErrorException] 使用未定义的常量MCRYPT_BLOWFISH - 假设为'MCRYPT_BLOWFISH'
我该如何调试和解决它?感谢。
答案 0 :(得分:3)
MCRYPT_BLOWFISH
是一个PHP常量。此常量由mycrypt扩展名定义。如果您的PHP版本安装了mcrypt,则会出现此常量。您看到的错误消息
使用未定义的常量MCRYPT_BLOWFISH - 假设为'MCRYPT_BLOWFISH'
告诉你这个常数不存在。这意味着没有为您正在运行的PHP版本安装或启用mycrypt。您需要安装或启用mcrypt。
一些陷阱。
您在命令行上运行的PHP版本可能与您用于Apache / nginx的PHP版本不同。 $ which php
,$ php -v
和php --info
可以告诉您CLI的可用内容
您可以安装扩展程序,但通过php.ini
文件禁用。您可以在上面的php.ini
调用中找到您正在使用的--info
个文件,方法是运行一个调用phpinfo()
或$ php --ini
答案 1 :(得分:0)
sudo apt-get install php7.1-mcrypt
根据您的系统更改php版本,希望对您有所帮助。 安装后不要忘记重新启动apache服务器
如果它有助于将其标记为答案
答案 2 :(得分:-1)
我打字:
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