PHP session在页面间传递的问题

PHP session在页面间传递的问题:
前提: 使用codeIgniter的框架, 使用PHP自带的session
1. 在纯apache服务器上没有问题
2. 在Nginx的apache模式下, 独立于codeIgniter框架外的页面无问题
3. 在Nginx的apache模式下, 置于codeIgniter框架内的页面, 页面间session的传递有问题, 即一个页面设置session, 另一个页面无法读取到前一个页面设置的session

Nginx的apache模式:LNAMP环境下,直接访问8889端口,基本等于忽略Nginx直接访问apache。使用LuManager

在Nginx的apache模式下, 独立于codeIgniter框架外的页面无问题

请输入图片描述

在Nginx的apache模式下, 置于codeIgniter框架内的页面, 页面间session的传递有问题, 即一个页面设置session, 另一个页面无法读取到前一个页面设置的session

请输入图片描述

阅读 10.7k
1 个回答

Php 在各个请求之间传递的是session id, 无非就是三种方式:

  1. 通过http请求中的Cookies头部来传递session id
  2. 通过http get请求来传递session id, 也就是将session id 放在url参数中
  3. 通过http post请求来传递session id,也就是将session id 放在post数据中进行传递

我在自己的博客中结合http写了一篇阐述php session本质的文章 - 你必须了解的session的本质

有兴趣的话,你可以细细读下,如果发现有什么不妥之处,你可以在评论中指出来,我会核对加以纠正。 希望更志同道合的朋友一起分享技术思想。

请输入图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题