Я пытаюсь раскошелиться на процесс, заставляя PHP исполнять PHP, пока выводит данные в / dev / null и запускаю cmd в фоновом режиме
Прежде чем запустить его без вывода сообщений - я хочу проверитьcmd работает должным образом - однако, когда команда выполняется PHP, процесс (как основной, так и разветвленный) никогда не завершается, и браузер постоянно застревает на «Соединении ...»
Вот код:
$script = '/home/username/application/bg_job.php';
$args = 'foo bar';
$cmd = "php -f $script $args";
$return = exec($cmd, $arr_output, $code);
var_dump($return);
Я проверил пользователя Apache, который запускает скрипт, выполнив
whoami
и это было "username" - поэтому я вошел в систему как root и запустил
sudo -u username php -f /home/username/application/bg_job.php foo bar
И это работает.
Есть идеи, что я могу делать неправильно?
РЕДАКТИРОВАТЬ - К вашему сведению - вот содержимое bg_job.php
<?php
file_put_contents('/home/username/test.txt', 'Hello !');
?>