我想用exec
在 PHP 中执行命令。
如果我通过第二个参数$out
并从命令行启动脚本,它将等待执行结束。
但是,如果我从浏览器启动它,浏览器会立即显示结果。
该命令执行一些单元测试,并将输出存储在文件($last)
中,我想在浏览器中显示该文件。
然后创建一个日志文件($logfile
)。然后,来自command的文件将被格式化为nl2br()
用于html打印。
我认为用户守护进程存在一些权限问题,但是如果我为守护程序授予项目或/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);