PHP根本没有检测到连接中止
我已阅读并深刻理解这些:
http://www.php.net/manual/en/features.connection-handling.php http://www.php.net/manual/en/function.register-shutdown-function.php 但是,我已经测试了PHP 5.1.6和5.3,并且事情不像那里描述的那样工作.我观察到的是: >即使客户端已关闭连接,connection_status()也始终返回true. 所以基本上PHP根本没有检测到客户端断开连接. 请注意,这不像ignore_user_abort设置为1:如果是这种情况,那么即使脚本将继续运行,connection_status()也将返回1,并且直到结束才会调用shutdown函数.事实并非如此. 正如预期的那样,ini_get(“ignore_user_abort”)返回0. 这是PHP中的错误,还是可能是由于某些Apache设置? 如何让PHP工作,如上述文档中所述? 测试脚本: <?php function myShutdown() { error_log("myShutdown ".connection_status()." ".ini_get("ignore_user_abort")); } register_shutdown_function(myShutdown); echo "Hi!"; error_log(" *** test/test *** "); for ($i=0; $i<10; $i++) { sleep(1); error_log("."); echo "."; } ?> 重现步骤: 预期/期望的行为: 观察/当前行为: 解决方法
首先,我也没能使用基本的ubuntu 12.04 LAMP安装(php5.3)来实现它.但我有一些信息,希望它有所帮助.任何评论或编辑赞赏! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |