codeigniter - 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
回复内容:
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
Php 在各个请求之间传递的是session id, 无非就是三种方式:
- 通过http请求中的Cookies头部来传递session id
- 通过http get请求来传递session id, 也就是将session id 放在url参数中
- 通过http post请求来传递session id,也就是将session id 放在post数据中进行传递
我在自己的博客中结合http写了一篇阐述php session本质的文章 - 你必须了解的session的本质。
有兴趣的话,你可以细细读下,如果发现有什么不妥之处,你可以在评论中指出来,我会核对加以纠正。 希望更志同道合的朋友一起分享技术思想。
这种问题为什么不把session的内容放到memcache里面呢?
首先这种方式是属于第三方的,不存在平台间获得session的异常;其次可以设置精确的过期时间,且存取速度很快,并且数据不落地,不必考虑原生session那种file存放方式带来的困扰和放到数据库里面存在的存取速度问题;访问量不大的情况下一台64G内存的server即可搞定,小弟愚见,请指正
上一篇: 获取浏览器的地址解决方法
下一篇: php在clone时访问原对象内容
推荐阅读
-
access-PHP将十六进制流转换成图片显示在页面中的问题
-
解决SpannableString在Android组件间传递时显示失效的问题
-
网络编程 - 使用PHP通过不同页面访问同一主机的cookie传递问题
-
PHP在不同页面间传递Json数据示例代码_PHP
-
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
-
PHP在不同页面间传递Json数据示例代码
-
解决SpannableString在Android组件间传递时显示失效的问题
-
PHP页面间参数传递的四种方法详解
-
快速解决ajax传递为空但显示在页面上为undefined的问题
-
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法