加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何杀死PHP会话?

发布时间:2020-12-13 17:06:56 所属栏目:PHP教程 来源:网络整理
导读:这个一般性话题在 here,here,here之前出现,毫无疑问在互联网上的其他地方也是如此.在我的情况下,与这些不同,挂起来自一个永远不会得到消息的阻塞套接字,也许这就是为什么那里描述的解决方案对我没用.我正在开发一个C应用程序,它通过本地套接字连接与PHP脚本
这个一般性话题在 here,here,here之前出现,毫无疑问在互联网上的其他地方也是如此.在我的情况下,与这些不同,挂起来自一个永远不会得到消息的阻塞套接字,也许这就是为什么那里描述的解决方案对我没用.我正在开发一个C应用程序,它通过本地套接字连接与PHP脚本通信,当C应用程序崩溃时,它离开PHP脚本的套接字等待永远不会来的消息.我尝试过使用session_destroy和session_unset(在session_start之前的脚本中先调用它们),但它们不起作用;即使退出并重新启动浏览器也无济于事.如果我删除session_start,重新加载脚本然后通过客户端结束会话,我只能停止会话.如何在不必经历的情况下杀死会话?

编辑:我忘了提,我也尝试用套接字时间

socket_set_option($socket,SO_RCVTIMEO,array("sec"=>1,"usec"=>0));

但是我收到了“无效操作”错误,但是没有用.

编辑2:按照提示here设置手动超时,运行良好.我仍然不知道如何杀死一个例如卡在无限循环中,但是哦.

解决方法

也许你可以给套接字超时?例如 socket_select有一个超时参数.

作为超时的1000s的值可能太高,因为apache之前可能已经杀死了该进程(请参阅php.ini中的max_execution_time)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读