php在后台执行()函数

标签 php process exec

我制作这个脚本是为了测试 PHP 作为后台进程的执行情况

foreach($tests as $test) { 
   exec("php test.php ".$test["id"]); 
} 

php process background 中的建议 和 How to add large number of event notification reminder via Google Calendar API using PHP?php execute a background process

但该脚本的运行速度并不比在不添加 test.php 的情况下全部包含在一个脚本中时快。

我做错了什么?

提前致谢!

最佳答案

exec() 将阻塞,直到您正在执行的进程完成 - 换句话说,您基本上是将“test.php”作为子例程运行。至少,您需要在命令行参数中添加一个 &,这会将 exec() 进程置于后台:

exec("php test.php {$test['id']} &");

关于php在后台执行()函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4646788/

相关文章:

c++ - 防止子进程进行系统调用

c - 没有这样的过程 - ptrace

php - 将php代码添加到mysql数据库中的动态主页模板

php - 使用 PHP 将数据输入 MySQL 数据库时遇到问题

javascript - 我正在尝试将 ajax 变量传递到数据库

javascript - Laravel 根据请求接收数组

c# - 如何在C#中获取已启动应用程序的PID

php - 使用 PHP exec() 处理服务器上与系统相关的任务是否安全?

java - 用Java解析curl响应

go - 如何在go中执行带有反斜杠的命令