为什么我在本地运行,结果报错

来源:4-8 使用session来存储用户的登录信息

方人胥

2021-01-07 17:09

<?php
session_start();
//假设用户登陆成功获得了以下用户数据
$userinfo = array(
    'uid'=> 10000,
    'name'=>'spark',
    'email'=>'spark@imooc.com',
    'sex'=>'man',
    'age'=>'18'
);
header("content-tpye:text/html;charset=utf-8");
/*将用户信息保存到session中*/
$_SESSION['uid']=$userinfo['uid'];
$_SESSION['name']=$userinfo['name'];
$_SESSION['userinfo']=$userinfo;
//将用户数据保存懂啊cookie中的一个简单方法
$secureKey='imooc';//加密密钥
$str=serialize($userinfo);//将用户信息序列化
//用户信息加密前
$str=base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256,md5($secureKey),$str,MCRYPT_MODE_ECB));
//用户信息加密后
//将加密后的用户数据存储到cookie中
setcookie('userinfo',$str);
//当需要使用时进行解密
$str=mcrypt_decrypt(MCRYPT_RIJNDAEL_256,md5($secureKey),base64_decode($str),MCRYPT_MODE_ECB);
$uinfo=unserialize($str);
echo "解密后的用户信息:<br>";
print_r($uinfo);

结果报错,显示

PHP Fatal error:  Uncaught Error: Call to undefined function mcrypt_encrypt() in D:\Demo\Session control08.php:20

Stack trace:

#0 {main}

  thrown in D:\Demo\Session control08.php on line 20


Fatal error: Uncaught Error: Call to undefined function mcrypt_encrypt() in D:\Demo\Session control08.php:20

Stack trace:

#0 {main}

  thrown in D:\Demo\Session control08.php on line 20


进程已结束,退出代码255

写回答 关注

1回答

  • 方人胥
    2021-01-07 18:16:02

    网上百度才发现,我的PHP版本是7.3,mcrypt_encrypt/mcrypt_decrypt在7.1已经弃用了。但我不懂,怎么解决,求高手指导

    weixin...

    弃用了,有其他的方案

    2023-06-15 19:19:56

    共 1 条回复 >

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181727 学习 · 2575 问题

查看课程

相似问题