例如在a页面设置了会话,然后打印会话值,可以成功打印,但是调转到b页面后,会话丢失了。
原因有不少,一个原因就是没有在页面开头加入session_start();当然你也可以直接配置php.ini文件,设置session_auto_start = on,这样就不需要在每个页面都session_start()了。
我遇到的是在本地虚拟机测试没有问题,但是转到外网测试后出现这个问题,解决方法如下
首先找到session的保存路径,echo phpinfo();然后找到
session.save_path
/var/lib/php/session | /var/lib/php/session |
可以看到我的session路径是这个,可是当我ls /var/lib/php之后就没有东西了,问题就出在这里
mkdir session创建这个文件夹,为了保险(方便)起见,我直接授权777,然后重启一下服务器,(具体重启nginx还是php-fpm我也不是很清楚啊),搞定