PHP exec() 作为后台进程(Windows Wampserver 环境)

标签 php exec background-process

我正在尝试设置一个将启动后台进程的 php 触发器文件。 (参见 this question)

我在 Windows Wampserver 环境中执行此操作。

例如,我有 trigger.php 运行 exec 函数,该函数调用我的 backgroundProcess.php 进行解析和执行。

但是问题是我的 trigger.php 文件正在等待 exec() 命令在它之前完成运行 backgroundProcess.php停止。后台进程运行大约 20-30 秒,trigger.php 一直在等待,直到 backgroundProcess.php 完全完成。

这有意义吗?这是运行 exec() 命令的 trigger.php 文件

exec('C:\wamp\bin\php\php'.phpversion().'\php.exe -f C:\path\to\backgroundProcess.php > C:\wamp\bin\php\php'.phpversion().'\dev\null &');

基本上,我希望 trigger.php 只触发 backgroundProcess 而不是等待它完成。

最佳答案

使用以下命令解决问题:

$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("C:\wamp\bin\php\phpVERSIONNUMBER\php-win.exe -f C:/wamp/www/path/to/backgroundProcess.php", 0, false);

关于PHP exec() 作为后台进程(Windows Wampserver 环境),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5367261/

相关文章:

Django:在后台发送电子邮件的最佳方式?

ios - 在未来的特定时间在 iOS 中运行后台任务

PHP 选择和内部连接表问题。

php - 每 10 个 mysql 结果结束并开始新的 UL

PHP:从 1 循环到 5,从 3 开始

php shell_exec 权限被拒绝

php - __call 方法需要知道何时按引用或按值传递 var

php - 在正在运行的 php 脚本中执行 php 脚本

c - Chang的多管道

ios - 每天早上特定时间快速后台执行