Я использую Laravel
для создания pdf
документов с помощью LaTeX
(pdflatex
) в системе windows 10
.
У меня есть этот метод для генерации pdf
file:
public function pdfErzeugen() {
$process = new \Symfony\Component\Process\Process('"' .str_replace('/','\\',env('PDFLATEXENGINE', 'C:/Program Files (x86)/MiKTeX 2.9/miktex/bin/pdflatex.exe')) .'" "' .str_replace("\\", "/", str_replace(".tex","",$this->latexFilePath)) .'" -output-directory="' .str_replace("\\", "/", $this->outputDirectory) .'"');
$process->setEnhanceWindowsCompatibility(false);
$process->run();
if (!$process->isSuccessful()) {
throw new \Symfony\Component\Process\Exception\ProcessFailedException($process);
}
}
На самом деле это всегда выполняется с ошибкой из laravel.log
[2019-06-19 09:02:04] local.INFO: 53 [2019-06-19 09:02:04] local.INFO: 2019-06-19 08:56:14 [2019-06-19 09:02:04] local.INFO:
[2019-06-1909:02:04] local.INFO: 2019-06-19 09:02:04 [2019-06-19 09:02:04] local.INFO: 53 [2019-06-19 09:02:05] local.ERROR: Symfony \ Component \ Process \ Exception \ ProcessFailedException: команда "" C: \ Program Files (x86) \ MiKTeX 2.9 \ miktex \ bin \ pdflatex.exe "" D: / Файлы / Компания / Kunden / Клиент / Программное обеспечение/ app / Classes / Rechnung / LaTex / Output / Rechnung_DY58MPGlGgoWv1ATzJL8_000053-19 "-output-directory =" D: / Файлы / Компания / Kunden / Клиент / Программное обеспечение / app / Classes / Rechnung / LaTex / Output / "" не удалось.
Код выхода: 1 (общая ошибка)
Рабочий каталог: D: \ Files \ Company \ Kunden \ Customer \ Software \ public
Outположить:
Ошибка вывода: ================ в D: \ Files \ Company \ Kunden \ Customer \ Software \ app \ Classes \ Rechnung \ KaufAufRechnung.php: 123 ...
Пока все хорошо (или плохо).Но сейчас происходит странная вещь.Когда я выбираю и запускаю команду:
"C:\Program Files (x86)\MiKTeX 2.9\miktex\bin\pdflatex.exe" "D:/Files/Company/Kunden/Customer/Software/app/Classes/Rechnung/LaTex/Output/Rechnung_DY58MPGlGgoWv1ATzJL8_000053-19" -output-directory="D:/Files/Company/Kunden/Customer/Software/app/Classes/Rechnung/LaTex/Output/"
в консоли, файл pdf
генерируется без ошибок.У кого-нибудь есть идеи, где можно начать поиск ошибки?Это может быть проблема авторизации?Веб-сервер работает под другой учетной записью, чем когда я помещаю команду в console
.Большое спасибо за каждую подсказку заранее!
ОБНОВЛЕНИЕ:
setEnhanceWindowsCompatibility
имеет значение true:
$process->setEnhanceWindowsCompatibility(true);
ОБНОВЛЕНИЕ2: В функции start
класса symfony-process
я вижу, что эта команда генерируется для запуска процесса:
cmd /V:ON /E:ON /D /C "("C:\Program Files (x86)\MiKTeX 2.9\miktex\bin\pdflatex.exe" "D:/Files/Company/Kunden/Customer/Software/app/Classes/Rechnung/LaTex/Output/Rechnung_iHpVNRyUffzgfBj1w3xj_000053-19" -output-directory="D:/Files/Company/Kunden/Customer/Software/app/Classes/Rechnung/LaTex/Output/")"
Когда я выполняю эту команду с windows -> run
, она такжесоздает мой pdf
файл.Это сводит меня с ума ...