Je suis en train de télécharger un fichier DOC ou DOCX via DropzoneJS, puis le convertir en PDF sur le serveur en utilisant LibreOffice PHP exec. Si je l'ai tapé manuellement dans le serveur, il se convertira mais si je l'exécute via le navigateur, il ne convertit pas. J'essaye d'exécuter le soffice sans sudo mais la commande exécutée par le navigateur ne fonctionne pas. Comment puis-je le convertir via le navigateur?PHP Laravel LibreOffice DOC vers PDF ne convertit pas via le navigateur run
commande manuelle dans le Terminal:
/opt/libreoffice5.2/program/soffice --Convertir à pdf /var/www/html/my_system/public/msword.doc --outdir /var/www/html/my_system/stockage/app/devis
commande ls -liah résultats pour les dossiers:
my_system, le stockage, l'application, citations = drwxrwxrwx Apach e apache
Mes Sudo visudo résultats (lignes collées sans commentaires dans l'ordre):
Defaults requiretty
Defaults !visiblepw
Defaults always_set_home
www-data ALL=NOPASSWD:ALL
robert ALL=NOPASSWD:ALL
apache ALL=NOPASSWD:ALL
fichier PHP:
$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;
}
Merci.
Comment l'utilisez-vous? Il n'y a pas de $ retour dans votre exemple de code, donc je preume que c'est abrégé. Et wjat est le code de sortie de la commande? – bishop
@bishop Je suis en cours d'exécution via le téléchargement, faites glisser et déposez dans le navigateur, puis dropzone appel ajax qui est le fichier PHP. Je pense que si après la ligne de téléchargement en PHP puis la deuxième ligne est converti le fichier DOC téléchargé en PDF est trop rapide, donc il n'est pas converti? Mon résultat AJAX est: PDF non créé. Commande = /opt/libreoffice5.2/program/soffice --convertir en pdf/var/www/html/mon_système /public/MSWord_testing_DOC.doc --outdir/var/www/html/my_system/storage/app/offres = 77 – marknt15