【发布时间】:2011-07-19 01:03:59
【问题描述】:
我正在尝试设置一个启动后台进程的 php 触发器文件。 (见this question)
我在 Windows Wampserver 环境中执行此操作。
例如,我有 trigger.php 运行调用我的 backgroundProcess.php 被解析和执行的 exec 函数。
但是问题是我的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);
【问题讨论】:
-
这给我带来了随机的问题。抛出关于无法运行命令的异常。检查我的答案。
-
文件 backgroundProcess.php 里有什么?
标签: php exec background-process