L'exécution de libreoffice à partir de php exec()

J'ai installé libreoffice sans tête sur un freebsd-serveur avec apache pour convertir des documents par programme (par exemple, odt->format pdf). Il fonctionne à partir de la ligne de commande! Mais mon objectif est d'être en mesure de le faire à partir de php. Cela exige que l'utilisateur du web (www) peuvent s'exécuter libreoffice. Mais il ne peut pas.

Lors de l'exécution de libreoffice que mon utilisateur, j'obtiens:

%libreoffice --headless -convert-to pdf Litteraturundervisningogit.doc
javaPathHelper: not found #This should not be a problem, says people on the net.
convert /usr/home/bundsgaard.net/www/jeppe/foredrag/Litteraturundervisningogit.doc ->
 /usr/home/bundsgaard.net/www/jeppe/foredrag/Litteraturundervisningogit.pdf using writer_pdf_Export
%

Si j'essaie la même commande en tant que root, il ne fonctionne pas. La même chose est le problème avec le www-utilisateur depuis php:

sp# libreoffice --headless -convert-to pdf Litteraturundervisningogit.doc
javaPathHelper: not found
sp#

Le problème est que je ne reçois pas toutes les informations à partir de libreoffice, donc je ne sais pas pourquoi libreoffice ne veut pas courir comme les autres utilisateurs de la mienne.

Ma question est: Comment puis-je donner le www-autorisation de l'utilisateur pour exécuter libreoffice via exec() en php?

  • Est-ce juste un problème de CHEMIN d'accès? Qu'est-ce que dans leur $PATH's?
  • Vous avez testé en ligne de commande avec l'utilisateur root, %sudo php program.php, qu'en tant que client d'avoir l'autorisation?
InformationsquelleAutor user1176941 | 2012-01-29