2

我收到以下 2 个错误

注意:未定义属性:User::$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 很陌生 :(

4

2 回答 2

19

首先安装 php mcrypt 模块。

sudo apt-get install php5-mcrypt   

重启阿帕奇。

service apache2 restart

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

sudo php5enmod mcrypt

再次重新启动 Apache。

service apache2 restart
于 2014-10-17T06:19:17.217 回答
5

您可能缺少 mcrypt PHP 扩展。

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

sudo apt-get install php5-mcrypt

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

sudo /etc/init.d/apache2 restart

在其他 Linux 发行版上,使用适当的包安装程序工具。如果仍然无法正常工作,您可能必须在 php.ini 中启用 mcrypt 扩展。

于 2013-09-11T08:00:21.677 回答