php同一个会话之间可以共享同一个对象实例吗?? 400 报错
是接着上一个问题的:http://www.oschina.net/question/1182150_211947
好像没人答啊!
其实是同一个问题,我是想把socket操作的那部分写在类里面,然后在各个http请求之间共享这个实例。
socket可以共享,通过 pfsockopen或者stream_socket_client+STREAM_CLIENT_PERSISTENT都可以打开一个持久的socket链接。但是对象多个会话无法共享######不用保存链接,直接调用pfsockopen即可######我是指同一个会话,不同的http请求之间。 socket的持久连接怎么共享?连接句柄保存到session吗?######php没有java的application全局对象实例,只有session和request级别的共享数据
######所以我想是不是可以把对象序列化后存到session,然后再反序列化回来,不知道行不行?######
php 在 请求开始的时候打开session,在请求结束后回写session,所以并发的两个请求对session的操作是各做各的。
你想操作共享数据可以看看这个Shmop,也可以操作redis之类的缓存。
######看了你上一个帖子,嗯,还是放弃吧少年,你可以了解下PHP的资源类型,句柄指向的资源都关闭了,你序列化反序列化又有什么意义呢?
PHP是一门stateless的语言。所以在各个HTTP请求间共享一个实例,默认是不可以的。
可以借助redis,memcahce等插件,持久化需要在多个HTTP请求间共享的数据。我自己经常使用apc。
// 在一个脚本中放入 apc_add('shared', array('foo' => 'bar'));
// 在另一个脚本里取出 $shared = apc_fetch('shared');
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。