使用未定义的常量 MCRYPT_BLOWFISH

Posted

技术标签:

【中文标题】使用未定义的常量 MCRYPT_BLOWFISH【英文标题】:Use of undefined constant MCRYPT_BLOWFISH 【发布时间】:2014-08-27 19:39:55 【问题描述】:

重新安装我们的服务器后,MCRYPT 不再工作,php 发出通知

使用未定义的常量MCRYPT_BLOWFISHApache 2.4PHP 5.5)。

php -m 返回 mcrypt。

ls -al /etc/php5/apache2/conf.d/
20-mcrypt.ini -> ../../mods-available/mcrypt.ini

cat /etc/php5/mods-available/mcrypt.ini
; configuration for php MCrypt module
extension=mcrypt.so

为什么mcrypt 无法识别?我怎样才能做到这一点?

【问题讨论】:

见:madcapsule.com/blog/php-mcrypt-magento-error 谢谢,但不幸的是我已经尝试过了。我已经安装了 libmcrypt4。 我遇到了确切的错误。而且那个网站不工作。据我所知,MCRYPT 常量不存在:/ 【参考方案1】:

我一开口就找到解决办法,呵呵。

这对我有用: mCrypt not present after Ubuntu upgrade to 13.10

需要去: sudo php5enmod mcrypt

即使它似乎已经启用,但它已修复。

【讨论】:

"sudo php5enmod mcrypt" 成功了!对于其他读者:在此之后使用命令“sudo service apache2 restart”重新启动 apache 这适用于我的 laravel/homestead vagrant box gist.github.com/Artistan/ee25f22f5e931b7ee46f3d6167d87e5f【参考方案2】:

当我尝试启用 Express Paypal 方法时,我遇到了这个错误。

错误:使用未定义的常量 MCRYPT_BLOWFISH - 在第 56 行的 /var/www/.../lib/Varien/Crypt/Mcrypt.php 中假定 MCRYPT_BLOWFISH

首先,我们可以运行这个cmd来检查mcrypt是否正在运行:

php --ri mcrypt

如果mcrypt没有启用,我们可以像其他人提到的那样使用以下来启用它

sudo php5enmod mcrypt

同样,我们最好检查php5-mcrypt 包是否安装

dpkg -l | grep php5-mcrypt

如果您像我们一样安装fastcgiphp-fpm,我们必须重新启动php-fpm 服务和apache2 服务。

sudo service apache2 restart
sudo service php-fpm restart

【讨论】:

以上是关于使用未定义的常量 MCRYPT_BLOWFISH的主要内容,如果未能解决你的问题,请参考以下文章

使用未定义的常量用户 - 假定用户使用 php7.2

PHP - 使用未定义的常量

Laravel View Composer“使用未定义的常量”

在 phpunit 中使用未定义的常量 LF

注意:使用未定义的常量 STDOUT - 假定为“STDOUT”

Eloquent Tinker - 未定义常量