Я пытаюсь настроить файл триггера php, который запустит фоновый процесс. (см. этот вопрос)
Я делаю это в среде Windows Wampserver.
Так, например, у меня есть trigger.php
, который запускает функцию exec, которая требует, чтобы мой backgroundProcess.php
обрабатывался и выполнялся.
Однако проблема в том, что мой файл trigger.php
ожидает, что команда exec()
завершит выполнение backgroundProcess.php
до ее остановки. Фоновый процесс длится около 20-30 секунд, и trigger.php
ждет все это время, пока backgroundProcess.php
не закончит полностью.
Это смысл? Вот файл trigger.php
, который запускает команду exec()
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);