繁体   English   中英

为什么session_write_close应该用于长轮询?

Why should session_write_close be used in long polling?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在读一篇关于Nolithius长期民意调查的文章。 PHP睡眠整个会话的部分下,写入应调用session_write_close函数以防止整个会话陷入死锁。 僵局究竟是什么意思? 是否意味着如果没有此函数,在客户端打开的同一域中的任何其他页面将无法从其他脚本(如此脚本)接收AJAX数据,直到此脚本执行完并返回结果为止? 为什么会这样? session_write_close如何在这里提供帮助? 在他收到此请求的数据后,下次他从该域请求页面时,是否会使用它从客户端删除所有个性化设置?

1 个回复

这是我的理解:

当使用基于文件的会话时,每个请求都会将文件锁定直到请求结束。

这意味着下一个请求(也使用会话数据)必须等待释放锁。

这用于避免会话数据损坏。

使用session_write_close()将清除(但不会丢失任何会话数据)并在文件之前释放锁定,以允许其他请求继续。

这是一个很好的做法,特别是如果你的脚本可能会睡得很多。

2 session_write_close之后的Sessions变量

我刚刚意识到,在我的许多脚本中调用session_write_close之后,我一直都在引用$_SESSIONS超全局变量。 那听起来并不像是太白痴了-该错误逐渐蔓延,因为在一个包含的脚本中调用了write_close,而我很久没有对此进行重新检查了。 天真的假设是可以的,因为关闭会话对 ...

3 未捕获的RedisException:session_write_close()

因此,我有一个运行joomla的网站,并且尝试从CMS管理控制台将会话session handler设置为redis 。 我在访问的网站的首页和其他页面上收到以下错误。 我的服务器默认配置了php-fpm , 现在有趣的是 ,如果我更改php-wrapper / module使其与Fa ...

4 PHP:session_write_close()的替代方法

情况: 登录后,我有一个可以通过菜单访问多个页面的站点。 在仪表板页面(登录后立即看到的页面)上,有一个AJAX调用,用于从PHP控制器(zend框架)获取数据。 该调用对2个不同的数据库进行约20个查询,并进行大量数据操作。 加载所有内容可能需要5秒钟的时间。 到现在为止还挺好! ...

7 什么是Symfony等同于php命令session_write_close?

我遇到了这些开发人员提到的相同问题,即在长时间运行的Ajax请求完成时,会话锁定将页面保留起来。 我可以使用session_write_close()解决问题,但是我不清楚我们在其他地方使用的Symfony会话对象与该纯PHP命令之间的关系。 我担心在其他任何地方使用Symfony会话时使用 ...

10 session_write_close():会话回调期望返回true / false

我是Slim Framework的新手。 我应该按照组织要求使用Slim的早期版本。 因此,我得到了现有的Slim库,当我使用index.php运行时,出现以下错误。 以下是我的index.php 该错误可追溯到Slim.php 附言:我对Slim完全陌生。 ...

2017-03-20 07:15:09 0 643   php/ slim
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM