2010-09-01 3 views
1

В PHP Я использую proc_open для запуска команды в командной строке.Обеспечение proc_open будет поддерживать окно командной строки в PHP

Его нужно открыть в новом окне CMD, поэтому я добавил «начало» к началу команды.

Однако он также должен оставаться открытым для отображения результатов, но на самом деле он автоматически закрывает окно после этого.

Я попытался добавить «пауза», а также параметр/k, чтобы «остаться». Но никто не работает. Окно просто закрывается.

Как я могу заставить окно оставаться открытым при использовании proc_open?

Это часть кода, $ CMD заполняется раньше:

$descriptorspec = array(
    1 => array('pipe', 'w'), // stdout 
    2 => array('pipe', 'w'), // stderr 
); 

$process = proc_open($cmd, $descriptorspec, $pipes); 
if (!is_resource($process)) 
{ 
    throw new RuntimeException('Unable to execute the command.'); 
} 

stream_set_blocking($pipes[1], false); 
stream_set_blocking($pipes[2], false); 

ответ

1

«старт» запустит указанную команду, а затем выйти. Это в основном асинхронно. Возможно, вам повезло, что ваш proc_open начнет работу с командной оболочкой cmd, которая запускает пакетный файл, и запустит вашу команду из .bat, после чего вы сможете сделать «паузу»

+0

Звучит неплохо, спасибо. – Dave

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

  • Нет связанных вопросов^_^