kann oowriter nicht als Webbenutzer ausführen

8

Ich habe einen Webserver auf meinem Laptop eingerichtet. Ich erstelle eine Webanwendung, auf die ich über das lokale Netzwerk zugreife. Ich habe eine PHP-Datei, die die folgenden Zeilen enthält:

%Vor%

Also, das Problem ist, dass, wenn ich den oben genannten Code im Terminal php läuft perfekt läuft. Beim Zugriff über einen Webbrowser ist die Ausgabe jedoch leer und es wird keine Konvertierung wie beabsichtigt durchgeführt.

Apache Fehlerprotokoll zeigt die folgenden Zeilen:

  

[Java-Framework] Fehler in der Funktion createSettingsDocument (elements.cxx).
  Javaldx ist gescheitert!
  Warnung: Pfad von javaldx konnte nicht gelesen werden

Ich habe Lösungen aus Ссылка ausprobiert. Aber es hat nicht funktioniert.

Ich verwende OpenJDK 7.

Hat jemand eine Idee, wie das funktioniert?

    
Gaurav Singh 16.04.2012, 05:19
quelle

4 Antworten

6

Kann nicht wählen, kann (noch) nicht kommentieren ... Also ...

Was Tim-Erwin gesagt hat, ist wahr.

Der Fehler besagt eigentlich, dass Fehler in der Funktion createSettingsDocument ist, was ein Hinweis darauf ist, dass eine Funktion namens createSettingsDocument (note: create Settings Document) fehlschlägt ....

So funktioniert es (oder zumindest ich) , damit es funktioniert:

  1. Starten Sie libre office einmal als normalen Benutzer und notieren Sie das Verzeichnis Name erstellt.
  2. Überprüfen Sie, welchen Benutzer der Server ausführt (oder welchen Benutzer PHP gerade ausführt) als, die sich von WWW-Daten unterscheiden könnten, wenn Sie auf FPM usw. sind ...).
  3. Überprüfen Sie, wofür das Home-Verzeichnis für diesen Benutzer eingestellt ist (von / etc / passwd zum Beispiel)
  4. Erstellen Sie das in Schritt 1 notierte Verzeichnis im Verzeichnis von Schritt 3
  5. Ändern Sie den Besitzer des erstellten Verzeichnisses in den Benutzer aus Schritt 2

Auf meinem Server war das benötigte Verzeichnis tatsächlich / var / www / libreoffice , während auf meinem Desktop-Rechner das Verzeichnis /var/www/.config/libreoffice so müssen Sie sicherstellen.

    
Denzeli 27.02.2015 10:00
quelle
3

OpenOffice benötigt ein Benutzerverzeichnis. Da Sie versuchen, OpenOffice mit dem Webserver aufzurufen, müssen Sie dem jeweiligen Benutzer Schreibzugriff gewähren. Auf Debian würde das zum Beispiel bedeuten, dass www-data in /var/www/.openoffice.org / geschrieben wird:

%Vor%     
Tim-Erwin 31.12.2012 16:12
quelle
3

Frabers Antwort löste das Problem für mich!

Verwendet:

%Vor%

libreoffice hat dann die Verzeichnisse .config und libreoffice im Verzeichnis php script erstellt. Offensichtlich muss es vom Webserverprozess beschreibbar sein.

    
ConsuLanza Informatica 06.06.2016 21:00
quelle
1

Ich habe die gleiche Fehlermeldung erhalten "ooffice --headless --convert-to pptx filename" von einem Webserver (eigentlich "NaviServer" 4.99). Die obigen Lösungen haben mein Problem nicht gelöst, aber sie haben mich auf den richtigen Weg gebracht. Es stellte sich heraus, dass NaviServer die Umgebungsvariable "HOME" in das Installationsverzeichnis / usr / local / ns ändert, sodass LibreOffice versuchte, in diesem Verzeichnis einen .config-Ordner zu erstellen. Ich habe es herausgefunden, indem ich den BASH-Befehl "set" vom Webserver ausgeführt und die Umgebungsvariablen überprüft habe.

    
fraber 02.03.2016 16:59
quelle