2012-02-28 2 views
0

Я использую xampp в Windows 7.Как запустить php-скрипт асинхронно в Windows?

в моем понимании, вызов сценария таким образом должен асинхронно запускать php.exe и не дождаться завершения сценария.

$run_cmd = "cmd c:/xampp/php/php.exe c:/xampp/htdocs/Gashash/batch_test.php"; 
$oExec = $WshShell->Run($run_cmd, 0, false); 

конечно:

$run_cmd = "cmd c:/xampp/php/php.exe c:/xampp/htdocs/Gashash/batch_test.php"; 
exec($run_cmd); 

вариант Exec() не работает, как нежелателен, поскольку он останавливает процесс вызова до batch_test.php концов.

Я пробовал использовать '\' и '\', а также '/' для косой черты в пути, но скрипт не работает!

Любые предложения?

Спасибо!

ответ

2

Ii ответил на это 3 раза за последнюю неделю, пожалуйста, сначала найдите.

$WshShell = new COM("WScript.Shell"); 
$run_cmd = "cmd c:/xampp/php/php.exe c:/xampp/htdocs/Gashash/batch_test.php"; 
$WshShell = $WshShell->Run($run_cmd, 0, false); 
+0

Я действительно видел ваш ответ, но все же. Нет. Я скопировал его прямо сейчас. – Ted

+0

что происходит? так как это универсальный ответ, с которым у меня никогда не было никаких проблем. –

+0

ну, если я сменил параметр «0» на «0» на 1, я получу строку cmd и сразу закрою. Мой скрипт batch_test.php должен записывать что-то в журнал в качестве теста. Но журнал пуст. Если я выполняю одну и ту же строку с помощью cmd вручную (без cmd как начало), он работает нормально, если я добавляю cmd, это не – Ted

Смежные вопросы