用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2232|回复: 4
收起左侧

[讨论/交流] CI 的Hook疑问,关于"post system"

[复制链接]
发表于 2012-2-25 22:10:52 | 显示全部楼层 |阅读模式
CI 的Hook疑问, 其中有一个Hook是"post system"执行的, 从代码上看,是output之后执行的。

问题,1)服务器实在"post system"的Hook 执行完毕之后 才开始给browser发送页面的么?

           2)PHP有没有办法在页面发送完毕之后(指http response已经发往客户端),继续执行一些后续的代码,用来进行质量控制和业务统计呢?

我之所以有这样的想法,是对于用户而言页面下载的越快越好(从发出请求到页面下载完毕), 所以我们应该集中时间处理用户需要的内容, 而关于质量控制和业务统计是对用户透明的, 我不想这些处理花费的时间影响用户的体验(页面响应速度)




发表于 2012-2-26 00:49:44 | 显示全部楼层
PHP可以在输出之后再执行一些东西,也就是 flush 输出 buffer 后继续执行代码。
发表于 2012-2-26 10:53:21 | 显示全部楼层
我认为最简单直接的办法是用Ajax.在页面加载完后执行其他操作
 楼主| 发表于 2012-2-26 11:00:12 | 显示全部楼层
谢谢Hex
刚才测了一下, post_system的hook会延缓输出response的时间。
我再试试flush.
 楼主| 发表于 2012-2-26 12:38:53 | 显示全部楼层
试了一下flush,貌似可以。
但是在php执行完毕之前, 浏览器一直处于下载状态。(虽然页面已经完全下载完毕)

本版积分规则