exec替代在共享主机中触发多个新的PHP线程

时间:2013-08-20 06:49:08

标签: php triggers exec shared-hosting

我以前使用exec()函数来触发新的php线程(并且不需要这些php脚本的输出),比如

for ($i=0;$i<5;$i++) {
exec('/usr/bin/php script' . $i . '.php > /dev/null 2>&1 &');
sleep(1);
}

我想问一下,是否有任何其他原生PHP函数可以完成相同的工作,因为我的网络托管服务提供商没有启用exec,我不愿意切换到另一个。

非常感谢。

1 个答案:

答案 0 :(得分:0)

通常,此类任务是通过http服务器内部的内部请求生成的。只需使用phps [virtual()][1][curl extension][2]执行更复杂的任务。

但是,您只能使用phps Web配置,因此请注意执行超时等限制。我怀疑有一种方法可以在Web托管系统上生成一个真正的进程。那将是一个可怕的安全线程!

此类任务通常也会委托给某种作业调度程序实现,该实现由cronpoor mans cron或基于ajax的触发器触发。这意味着您必须为等待处理的作业实施调度程序。但它也带来了单独工作的良好分离。