Получить вывод php-файла, работающего в фоновом режиме

У меня есть два файла php. Давайте назовем их a.php а также b.php,

Когда пользователь посещает a.php, Я использую exec() выполнить b.php а также b.php генерирует вывод.

Мой вопрос: как я могу отобразить этот вывод на a.php или в другой файл, когда процесс завершен в b.php ?

Вот мой код:

exec("C:\wamp\bin\php\php5.5.12\php.exe C:\wamp\www\b.php 2>otst.txt");

2

Решение

Используйте одну из тезисов 2 PHP-функции:

пройти — Выполнить внешнюю программу и отобразить необработанный вывод

система— Выполнить внешнюю программу и отобразить вывод

Пример с Системой:

<?php
echo '<pre>';

// Outputs all the result of shellcommand "ls", and returns
// the last output line into $last_line. Stores the return value
// of the shell command in $retval.
$last_line = system('ls', $retval);

// Printing additional info
echo '
</pre>
<hr />Last line of the output: ' . $last_line . '
<hr />Return value: ' . $retval;
?>

(Источник http://php.net/manual/en/function.system.php )

0

Другие решения

Если вам не нужно ничего особенного, вы можете использовать кавычка (`) оператор вместо exec():

$output = `php b.php`;

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

0