【问题标题】:Notice: Undefined property: User / Fatal error: Call to undefined function mcrypt_create_iv()注意:未定义属性:用户/致命错误:调用未定义函数 mcrypt_create_iv()
【发布时间】:2013-09-15 03:36:17
【问题描述】:

我收到以下 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 很陌生 :(

【问题讨论】:

  • 听起来mcrypt 不是installed / configured 进入PHP。
  • @Jonathon Reinhart:google.com 是个好东西。已添加书签。
  • 我一直使用 Google.com,但在“我的错误消息之间放置”,这意味着并非所有内容都显示出来,Stackoverflow 上发布的所有内容都会显示在顶部。我遇到的 100 个问题中有 99 个那样解决!

标签: php


【解决方案1】:

首先安装 php mcrypt 模块。

sudo apt-get install php5-mcrypt   

重启 Apache。

service apache2 restart

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

sudo php5enmod mcrypt

再次重启 Apache。

service apache2 restart

【讨论】:

  • 对我来说很好用!
【解决方案2】:

您可能缺少 mcrypt PHP 扩展。

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

sudo apt-get install php5-mcrypt

然后重启你的网络服务器:

sudo /etc/init.d/apache2 restart

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-05
  • 1970-01-01
  • 2012-07-18
  • 2017-01-25
  • 2012-06-28
  • 2014-03-27
  • 2019-09-24
相关资源
最近更新 更多