我们当前在AWS服务器中移动,我正在使用PhpOffice \ PhpWord \ TemplateProcessor将docx转换为PDF。
我的问题是,pdf没有保存在目标路径中。它只在我们以前的服务器上工作。
我已经在AWS服务器上尝试了以下命令:
sudo chown www-data:www-data -R *
在目标路径中授予完全许可:chmod('path', 0777)
function loadTemplate($hasSmarttag = true) {
$this->templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor(DATA_ROOT . $this->template['filename']);
$tags = $this->placeholders($hasSmarttag);
foreach($tags as $tag => $value)
{
$this->templateProcessor->setValue($tag, $value);
}
$temp = tempnam(DATA_ROOT . 'tmp/', 'con');
$basename = explode('.',basename($temp));
$basename = $basename[0];
$path = DATA_ROOT . 'tmp/'. $basename;
if(is_file($temp))
unlink($temp);
mkdir($path, 0777,true);
$tmpFolder = $basename ;
$docx = $path . '/Assignment Conditions.docx';
$this->templateProcessor->saveAs($docx);
// exec('"C:\Program Files (x86)\LibreOffice\program\soffice.exe" --headless --convert-to pdf:writer_pdf_Export --outdir ' .$path. ' "'.$docx. '"');
exec($cmd="HOME=/tmp soffice --headless --convert-to pdf:writer_pdf_Export --outdir " .$path. " \"{$docx}\"");
if(is_file($docx))
unlink($docx);
return $tmpFolder . '/Assignment Conditions.pdf';
}
没有错误,pdf不会保存在目标路径中。