PHP в фоновом режиме exec () - PullRequest
3 голосов
/ 10 января 2011

Я сделал этот скрипт для проверки выполнения PHP как фонового процесса

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

как предложено в php process background и Как добавить большое количество напоминаний о событиях через API Календаря Google с помощью PHP? и php выполнить фоновый процесс

Но скрипт не работает быстрее, чем когда он был в одном скрипте, без добавления test.php.

Что я делаю не так?

Заранее спасибо!

1 Ответ

7 голосов
/ 10 января 2011

exec() будет блокироваться до тех пор, пока процесс, который вы выполняете, не будет завершен - другими словами, вы в основном запускаете свой 'test.php' в качестве подпрограммы.Как минимум, вам нужно добавить & к аргументам командной строки, что поместит этот exec () в фоновый режим:

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