yii支持异步事件调用和异步记录日志吗?

yii支持异步事件调用和异步记录日志吗?如果支持,怎么样来使用呢?

是不是也有这方面的想法呢?

能否举例说明?

异步事件调用,是指一些事件没有前后顺序的要求,但是由一个行为触发的,如果使用异步调用,一个事件的执行就不必等待另一个事件的结束了。

比如我记录页面发生错误,而必须在页面代码的中间位置记录,这种情况下,使用异步调用日志记录,页面代码的执行就不必等待日志记录成功的反馈信息了,可以提高页面的执行效率。

不知道我描述清楚了吗?

这在PHP似乎是无法实现的,因为每个PHP请求都是单线程执行的。

如果利用ajax异步调用呢?是不是能实现这种操作呢?

ajax请求在服务器端还是同步操作。当然对于客户端而言是异步的了,但这和你的初衷不一样。

能否通过创建子进程或者发送socket的请求?

以前用php做过模拟多线程行为,在windows上,利用 socket

实际的效率其实不理想,因为你加快了php或db取数据的速度,但是同时给apache开多个线程反而增大了apache压力。所以最好不要通过php来做,而是写php的c扩展或调用其他语言如java

在YII中记录日志,其实是保存在一个数组中;等请求处理结束的时候一起写日志,

这样可以提高写日志的速度。

这个实现起来比较难。