2010-11-16 2 views

ответ

19

Это не так сложно (хотя и с некоторыми незначительными отличиями) ... Вам просто нужно использовать WScript.Shell COM объект:

$shell = new COM("WScript.Shell"); 
$shell->run($command, 0, false); 

Вот это ...

+0

получение com_exception является? – Marcin

+0

Какое исключение? Попробуйте обернуть его в 'try {$ shell ...} catch (Exception $ e) {var_dump ($ e-> getMessage(), $ e-> getCode()); } ', чтобы узнать, что вызывает его ... – ircmaxell

+0

получение: Member не найден – Marcin

1

По умолчанию, команда Windows start не ждет дочерний процесс. Вам может понадобиться переключатель /b, чтобы избежать создания окна командной строки.

exec("start /b c:\\php\\php.exe -f sleep.php"); 
+1

Не совсем верно. Согласно [документам о запуске] (http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/start.mspx?mfr=true): это только не подождите, если вы начнете процесс GUI. Если вы запускаете консольный процесс, он ждет (по крайней мере, это то, что он говорит для XP) ... – ircmaxell

+0

, и это правда – Marcin

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