在两个PHP脚本中同时使用相同的会话ID
发布时间:2020-12-13 21:47:41 所属栏目:PHP教程 来源:网络整理
导读:我偶尔发现 PHP会话有一个奇怪的问题. 当我使用SAME会话ID运行两个PHP脚本时,第二个脚本将被卡住,直到第一个脚本完成. 我想这是因为尝试两次打开同一个会话存储文件.但可能我不对. 您将永远不会在正常的站点工作中捕获此效果,因为用户通常不会同时打开两个或
我偶尔发现
PHP会话有一个奇怪的问题.
当我使用SAME会话ID运行两个PHP脚本时,第二个脚本将被卡住,直到第一个脚本完成. 我想这是因为尝试两次打开同一个会话存储文件.但可能我不对. 您将永远不会在正常的站点工作中捕获此效果,因为用户通常不会同时打开两个或更多页面. 但是,如果您尝试使用file_get_contents()获取同一站点的页面内容,则会遇到此问题. 此外,我通过上下文复制我的cookie,因此file_get_contents()尝试重新打开已在调用脚本中打开的相同会话. 结果,我坚持使用长时间运行的脚本(约5-10分钟),这也禁止我使用相同的sessionid / login打开同一站点的任何新页面. 我该如何解决这个问题?你有没有看到任何漂亮的解决方案? 解决方法
是的,这称为“会话锁定”,在PHP中是正常的.
一种解决方案不是不使用会话,只需为所需的持久性信息设置cookie. 另一个解决方案是实现自己的会话处理程序: http://php.net/manual/en/session.customhandler.php 有关自定义MySQL会话处理程序的详细演练如下: http://phpmaster.com/writing-custom-session-handlers/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |