注意:未定义的属性:用户/致命错误:调用未定义的函数 mcrypt_create_iv()


Notice: Undefined property: User / Fatal error: Call to undefined function mcrypt_create_iv()

我收到以下 2 个错误

注意:未定义的属性:用户::$username致命错误:调用未定义的函数 mcrypt_create_iv()

而且我无法弄清楚它是什么...我已经在其他 2 台服务器上安装了此软件,没有问题。

这是脚本的一部分,它应该是

函数 set_user_cookie() {

global $USER_COOKIE,$COOKIE_PATH,$COOKIE_DOMAIN,$COOKIE_KEY;
$cookie = "email=".urlencode($this->email)."&uid=$this->id&seclev=$this->seclev&username=$this->username";
if (isset($COOKIE_KEY)) {
  $iv = mcrypt_create_iv(mcrypt_get_iv_size (MCRYPT_BLOWFISH, MCRYPT_MODE_ECB), MCRYPT_RAND);
  $cookie = base64_encode(mcrypt_encrypt (MCRYPT_BLOWFISH, $COOKIE_KEY, $cookie, MCRYPT_MODE_ECB, $iv));
}
$expire = (time() + (3600 * 24 * 365 * 5));
setcookie($USER_COOKIE,$cookie,$expire,$COOKIE_PATH,$COOKIE_DOMAIN,0);

}

我希望有人能在这里帮助我,我对PHP很陌生:(

首先安装 php mcrypt 模块。

sudo apt-get install php5-mcrypt   

重新启动 Apache 。

service apache2 restart

如果安装mcrypt模块后问题仍然存在,可能是因为没有启用mcrypt模块。试试这个。

sudo php5enmod mcrypt

再次重新启动 Apache 。

service apache2 restart

你可能缺少 mcrypt PHP 扩展。

如果你的服务器运行在 Debian/Ubuntu 上,像这样安装它...

sudo apt-get install php5-mcrypt

然后重新启动网络服务器:

sudo /etc/init.d/apache2 restart

在其他 Linux 发行版上,使用相应的软件包安装程序工具。如果仍然不起作用,您可能需要在 php.ini 中启用 mcrypt 扩展。