会话变量在本地服务器上有效,但在托管服务器上无效
我正在开发一个简单的 php/mysql 讨论论坛。该语句
<?php print $_SESSION['username']; ?>
在我的本地计算机上产生了所需的结果,但是当我上传代码以实时测试论坛时,会话变量的值不再显示。可能是什么原因造成的?
I am developing a simple php/mysql discussion forum. The statement
<?php print $_SESSION['username']; ?>
produces the desired results on my local machine, but when I uploaded the code to test the forum live, the value of the session variable no longer displayed. What could be causing this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可能导致这种情况的一件事是,如果实时 Web 服务器位于使用默认 php 会话处理的负载平衡环境中。默认情况下,php 将会话数据存储在服务器上的平面文件中,因此如果用户在 webheads 之间跳转,他们将丢失会话数据。
在这种情况下,您将需要使用数据库定义自己的会话处理程序
one thing that can cause this is if the live web server is on a load balanced environment using default php session handling. By default php stores session data in a flat file on ther server so if the user is jumping around webheads they will lose session data.
in that case you will need to define your own session handler using a db