问题描述: 每个页面的工作量都很大,apache web服务器需要很长时间才能完成工作 现在 在一个页面的response响应 webserver还没有 完成时,同一个session又有请求新的页面, 期望server可以终止该session的前一个request 希望在不修改apache web server的代码 完成上述期望不是一个复杂的问题,但貌似是一个不可解问题如果可以分配到的话,回复就给分
调试欢乐多
如果有,就退出。
否则,就设
$_SESSION[session_id()] = TRUE;
if ($_SESSION['singletone_process_id']) {
posix_kill($_SESSION['singletone_process_id'], SIGKILL);
}
$_SESSION['singletone_process_id'] = posix_getpid();/*
Your code...
*/$_SESSION['singletone_process_id'] = 0;
好像是一种好方法,试试看……
因为既然已经进入了php程序,就表示webserver已经对response做出了响应
当新进程进入时,修改第一个key的值本进程的unique id,然后等待另外一个key被老进程发现,并在退出前设置另外一个key为新进程的unique id(从前一个key取得),然后才开始继续执行,并定期检查自己后面是否有更新的进程。Memcache、File Cache、SHM等等都可以实现。 只是要注意一下加锁等互斥的问题。