Я хотел бы выполнить команду в 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);