项目在使用
// 制定允许其他域名访问
header('Access-Control-Allow-Origin:*');
// 响应类型
header('Access-Control-Allow-Methods:*');
//请求头
header('Access-Control-Allow-Headers:*');
// 响应头设置
header('Access-Control-Allow-Credentials:false');
配合前端解决跨域问题的时候,session会出现问题,只能保存在当前页面,页面跳转之后session就会消失。
在网上找了很多方法,最后还是认为利用第三方插件的形式保存比较好(我也不知道好在哪里,就是好)。
我用的是Redis保存,顺便记录一下Redis的操作(Windows):
1.安装与配置:
我是按照这个教程安装的:https://blog.csdn.net/iloveyougirls/article/details/79688727
安装包:https://github.com/MicrosoftArchive/redis/releases/tag/win-3.2.100
安装成功后,打开cmd,在安装根目录输入redis-server redis.windows.conf,Redis服务就会启动了。
开机启动Redis服务(没试过):redis-server --service-install redis.windows.conf。
这个时候,用phpinfo()输出信息是找不到Redis扩展的,我们还需要安装扩展(划重点)。
下载PHP扩展(用phpinfo()找到适合自己的PHP版本):https://windows.php.net/downloads/pecl/releases/redis/
下载完成后,将压缩包里面的dll和pdb文件放到自己相应PHP版本的EXT文件夹下。
打开php.ini文件,在开启扩展文件的位置添加
extension=php_igbinary.dll
extension=php_redis.dll
这两行代码
完成以上操作,重启服务器,输出phpinfo()就能看到Redis扩展了。
2.Redis的简单缓存操作:
创建Redis对象:
//创建一个redis对象
$this->redis = new \Redis();
//连接本地的 Redis 服务
$this->redis->connect('127.0.0.1', 6379);
设置缓存
$this->redis->set('user_id');
获取缓存
$this->redis->get('user_id');