大佬教程收集整理的这篇文章主要介绍了PHP不会在某些用户的会话中存储数据,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
内部服务器为LAN上的用户提供两种不同的应用程序:
https://10.0.0.100/app1/
https://10.0.0.100/app2/
这两个应用程序都由相同的Apache配置文件提供服务,它们只位于public_html下的单独目录中.两个应用程序都使用PHP会话,但它们都在$_SESSION变量前面加上其命名空间:
$_SESSION['app1_favorite_colour'] = 'Yellow';
$_SESSION['app2_quest'] = 'Agghhh!';
尽管如此,登录到app1的用户没有将他们的app2_会话数据写入磁盘上的会话文件.考虑page1.PHP:
<>PHP
/**
* App2
* /page1.PHP
*/
session_start();
$_SESSION['apps_been_here'] = 'Yes!';
echo "
然后,在page2.php上:
如果用户也登录到app1,则不会向用户显示“是”!但是,不使用app1的用户确实在page2.php上看到“是”.调查一下,我在/ var / lib / php / session /中打开了会话文件.我只看到该文件中的变量以前缀app1_开头,而没有以app2_开头的变量用于登录app1的用户.未登录到app1的其他用户确实拥有在会话文件中以app2_开头的变量!
我已经检查过lsof文件没有被锁定,我已经确认浏览器中没有打开浏览器窗口的app1页面.为什么App2会话变量不能存储到会话文件中?有足够的可用内存和硬盘空间,CPU负载低于0.1(按正常运行时间衡量).多个浏览器(Firefox,ChromE)中的多个用户都会遇到这个问题.清除浏览器cookie和缓存没有帮助.
session_name('app1');
session_start();
$_SESSION['been_here'] = 'Yes!';
...
您还可以使用session_set_cookie_params()调整会话cookie路径,以便两个应用程序彼此完全不可见,如:
session_set_cookie_params(60 * 60 * 24 * 30,’/ app1 /’);
为了进一步排除故障,您应该检查使用session_ *函数的所有位置,并查看PHP.ini中的session.*配置选项.
以上是大佬教程为你收集整理的PHP不会在某些用户的会话中存储数据全部内容,希望文章能够帮你解决PHP不会在某些用户的会话中存储数据所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。