2015-03-05 4 views
0

У меня есть проект Codeigniter, который использует Codeception для приемочного тестирования. У меня есть настройка «tools» контроллера в Codeigniter, которую я использую для хранения методов командной строки, которые выполняют различные служебные функции.PHP shell_exec() - Подробный вывод?

В этом случае, я создаю служебный метод, который устанавливает среду тестирования, включает базы данных, строит/прогоняют тесты и т.д.

Я использую функцию PHP shell_exec() для выполнения команд codception , Они работают, однако, когда shell_exec() выдает команду `php codecept.phar run ', она не предоставляет подробный вывод. Он ждет, пока все тесты не будут выполнены (что занимает много времени), а затем выплескивает весь вывод в конце.

Есть ли способ, чтобы shell_exec() печатал результат по мере его получения?

пример кода:

public function run_tests() 
{ 
    $this->load->database('testing'); 
    echo shell_exec("cd ..; php codecept.phar build"); 
    echo shell_exec("cd ..; php codecept.phar run"); 
} 
+2

http://php.net/manual/en/function.passthru.php –

+0

отлично, отлично работает. Отправьте это как ответ, я могу принять его! – djt

ответ

1

passthru использования, какие потоки вывода команды непосредственно в поток ответа.

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