exec替代方案,用于在共享主机中触发多个新的php线程


exec alternative to trigger multiple new php threads in 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,我不愿意切换到另一个。

非常感谢。

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

然而,您仅限于phps的web配置,所以要注意执行超时等限制。我怀疑是否有一种方法可以在网络主机系统上生成一个真正的过程。那将是一个可怕的安全线程!

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