使用session_start的耗时脚本使用session_start阻止其他脚本

时间:2015-03-20 15:44:11

标签: php apache

假设我有两个PHP脚本。第一个看起来像这样:

<?php
session_name('zzz');
session_start();
sleep(10);

第二个看起来像这样:

<?php
session_name('zzz');

$start = microtime(true);
session_start();
$elapsed = microtime(true) - $start;

echo "took $elapsed seconds";

如果我使用浏览器访问第一个脚本,然后在第二个脚本之后立即访问第二个脚本将花费10秒钟来运行,就像第一个脚本一样。如果我访问第一个脚本并点击停止0.5秒加载第二个脚本仍然需要大约10秒才能加载。

因此,如果“停止”不能可靠地停止耗费时间的PHP脚本(例如上面示例中的第二个脚本立即返回它的输出)会是什么?我想我可以在CLI上执行ps aux | grep apache2然后杀死每个apache2 proc但是那可能会同时杀死所有的web服务器而且我想要这样做。

有什么想法吗?

0 个答案:

没有答案