Я хотел бы выполнить команду в 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);
Задача ещё не решена.
Других решений пока нет …