我收到以下2个错误
注意:未定义的属性:User :: $ username 致命错误:调用未定义的函数mcrypt_create_iv()
我无法弄清楚它是什么......我已经在其他2台服务器上安装了这个软件而没有任何问题。
这是脚本应该是
的一部分function 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很新:(
答案 0 :(得分:19)
首先安装php mcrypt模块。
sudo apt-get install php5-mcrypt
重启Apache。
service apache2 restart
如果安装mcrypt模块后问题仍然存在,可能是因为未启用mcrypt模块。试试这个。
sudo php5enmod mcrypt
再次重启Apache。
service apache2 restart
答案 1 :(得分:5)
你可能错过了mcrypt PHP扩展。
如果你的服务器在Debian / Ubuntu上运行,请像这样安装......
sudo apt-get install php5-mcrypt
然后重新启动您的网络服务器:
sudo /etc/init.d/apache2 restart
在其他Linux发行版上,使用相应的软件包安装程序工具。 如果事情仍然不起作用,您可能必须在php.ini中启用mcrypt扩展名。