PHP: созданный файл из exec () всегда пуст - PullRequest
0 голосов
/ 24 октября 2018

Я хотел бы выполнить команду в PHP с exec.

Если я передам второй параметр $out и запусту скрипт из командной строки, он будет ждать, покаexec завершен.

Но если я запускаю его из браузера, браузер немедленно показывает результат.

Команда выполняет некоторые модульные тесты и сохраняет выходные данные в файле ($last),который я хочу отобразить в браузере.

После этого создается файл журнала ($logfile).Затем файл из команды будет отформатирован для печати html с помощью nl2br().

Я думал, что были некоторые проблемы с разрешениями пользователя deamon, но если я дам демону разрешения для моего проекта или файла на /opt/lamp/htdocs/project созданный файл всегда пуст.

exec($command , $out);

date = new DateTime();
$timestamp = $date->format('Y-m-d H:i:s');
$filehandle = fopen($lastlog, 'r');
$filetext = fread($filehandle, filesize($lastlog));
$formattext = nl2br($filetext);

$last = file_put_contents($lastlog, $formattext);
$logfile = file_put_contents($projectdir . 'logs/' . $specfile . '/' . $timestamp . '.txt', $filetext);
...