我不确定我应该问的问题。遗憾!
我正在努力重新建立自己的网站,以便使用PHP5。服务器位于好友的地下室,我只是在进行编码并查看页面,就像其他任何页面一样。
我在$ _SESSION中跟踪登录详细信息。
当我坐在家里的机器上时,我可以登录到网站,所有内容都按照我所期望的所有页面上的SESSION方式进行。当我登录我的工作机器时,我获得了成功的登录并且可以看到SESSION变量,但是当我转到另一个页面时,SESSION就会消失,如session_id()中所示。
我之前使用PHP4构建的网站(并进行了调整以保持PHP5的快乐)并没有表现出这种行为,这使我可以在更改PHP5之前和之后的任何位置按预期登录。
我想我只是想找到接下来要探索的线索...在教我自我编码时遇到的所有谜题都出现在脸上,只是疯了。
答案 0 :(得分:2)
我认为杰克对饼干有所了解。确保您的浏览器工作设置为接受来自该域的Cookie。确保没有禁用此功能的防病毒/反恶意软件。我会使用fiddler来查看工作机器和家用机器上的流量和标头。你应该能够快速发现差异,因为它听起来像是一个客户问题。
答案 1 :(得分:0)
可能是工作中的计算机不支持会话cookie。自从我上次阅读有关PHP会话的内容已经有一段时间了,但是从我记忆中来看......
请注意,此过程的第一步是实际启动session_start()
会话,这需要在任何输出之前调用。
输出前有session_start()
吗?
答案 2 :(得分:-1)
你在各种php文件中使用session_start()吗?
答案 3 :(得分:-1)
解决此问题的一种方法是将会话存储在数据库中。
Rich Smith的这篇DevShed文章是一个很好的起点: Storing PHP Sessions in a Database
会话不再保存为服务器上的文件,而是保存在数据库中的条目,并且应解决任何cookie问题。
答案 4 :(得分:-1)
两个ini中的session.auto_start
的php.ini中的设置是否相同?
请参阅http://de3.php.net/manual/en/session.configuration.php#ini.session.auto-start