Я в настоящее время загружаю файл DOC или DOCX через DropzoneJS, а затем конвертирую его в PDF на сервере с помощью LibreOffice PHP exec. Если я набрал его вручную на сервере, тогда он будет конвертировать, но если я запустил его через браузер, он не будет преобразован. Я пытаюсь запустить soffice без sudo, но команда, запущенная через браузер, не работает. Как я могу преобразовать его через браузер?PHP Laravel LibreOffice DOC to PDF не конвертируется через браузер.
Руководство команды в терминале:
/opt/libreoffice5.2/program/soffice --convert к Pdf /var/www/html/my_system/public/msword.doc --outdir /вар/WWW/HTML/my_system/хранение/приложение/котировки
Команда Ls -liah результатов для папок:
my_system, хранение, приложение, цитаты = drwxrwxrwx Apach е апач
Мои Судо visudo результаты (вставленные строки без каких-либо замечаний по порядку):
Defaults requiretty
Defaults !visiblepw
Defaults always_set_home
www-data ALL=NOPASSWD:ALL
robert ALL=NOPASSWD:ALL
apache ALL=NOPASSWD:ALL
PHP File:
$command = '/opt/libreoffice5.2/program/soffice --convert-to pdf /var/www/html/my_system/public/msword.doc --outdir /var/www/html/my_system/storage/app/quotations';
if (!$return) {
echo "PDF Created Successfully";
} else {
echo 'PDF not created. Command = ' . $command . '=' . $return;
}
Благодарности.
Как вы его управляете? В вашем примере кода нет '$ return', поэтому я предполагаю, что это сокращенно. И wjat - это код выхода команды? – bishop
@bishop Я запускаю его через загрузку, перетаскивание в браузере, а затем вызов dropzone ajax, который является файлом PHP. Я думаю, что если после строки загрузки в PHP, то вторая строка преобразует загруженный файл DOC в PDF слишком быстро, чтобы он не преобразовывался? Мой возвращенный результат AJAX: PDF не создан. Command = /opt/libreoffice5.2/program/soffice --convert-to pdf/var/www/html/my_system /public/MSWord_testing_DOC.doc --outdir/var/www/html/my_system/storage/app/quote = 77 – marknt15