WkHTMLtoPDF 0.12.2.1 PHP exec xvfb-run: Error: xauth-Befehl nicht gefunden
Möchte ich generieren einer PDF-Datei von einer URL, damit ich den Befehl ausführen von WkHTMLtoPDF als unten:
/usr/bin/xvfb-run --server-args="-screen 0, 1920x1080x24" /usr/local/bin/wkhtmltopdf http://www.google.com /tmp/google.pdf 2>&1
Den oben genannten Befehl funktioniert im Terminal, Aber wenn ich Sie aufrufen, den Befehl in PHP nicht! Und zeigen Sie mir eine Fehlermeldung wie folgt:
array(2) {
[0]=> string(27) "which: no xauth in ((null))"
[1]=> string(40) "xvfb-run: error: xauth command not found"
}
Ich weiß nicht, wie dieses Problem zu beheben! Wer kann mir helfen auf dieser, meiner OS-Umgebung wie folgt:
- OS: CentOS release 6.6
- wkhtmltopdf version: 0.12.2.1
- nginx version: nginx/1.6.3
Mein PHP-code wie folgt:
<php
$var = array();
$res = 0;
$cmd = '/usr/bin/xvfb-run --server-args="-screen 0, 1920x1080x24" /usr/local/bin/wkhtmltopdf http://www.google.com /tmp/google.pdf 2>&1';
exec($cmd, $var, $res);
echo $cmd.'<br />';
var_dump ($var);
?>
Aktiviert, wenn safe-mode deaktiviert ist?
Du meinst safe_mode = Off? Ich habe in der safe_mode ist Off, php.ini
Sie versuchte zu laufen, nur
Ja,ich habe versucht, den Befehl ausführen, ohne xvfb-run in PHP und ausgefallen! Aber erfolgreich auf der Kommandozeile.
Ich denke, das ist ein Berechtigungsproblem? Gewusst wie: gewähren die Berechtigung zum user nobody ausgeführt wkhtmltopdf?
Du meinst safe_mode = Off? Ich habe in der safe_mode ist Off, php.ini
Sie versuchte zu laufen, nur
/usr/local/bin/wkhtmltopdf http://www.google.com /tmp/google.pdf
?Ja,ich habe versucht, den Befehl ausführen, ohne xvfb-run in PHP und ausgefallen! Aber erfolgreich auf der Kommandozeile.
Ich denke, das ist ein Berechtigungsproblem? Gewusst wie: gewähren die Berechtigung zum user nobody ausgeführt wkhtmltopdf?
InformationsquelleAutor Chunhui Zhang | 2015-05-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für CentOS PHP-Umgebung die WkHTMLtoPDF tool nicht benötigen xvfb-run, exec den Befehl, Aber für Ubuntu-PHP-Umgebung müssen xvfb-run, exec der Befehl! Hatte ich überarbeitete mein code wie unten und die Probleme wurde behoben:
Die Probleme aktuell gelöst und Dank @joaoBeno mich gerettet, für das Problem behoben~~
InformationsquelleAutor Chunhui Zhang
Wenn Sie PHP-FPM standardmäßig Umwelt-Variablen werden nicht vererbt, die in einem Arbeitsprozess. Das ist, warum
xauth
kann nicht gefunden werden in der environment-variablePATH
. Um dies zu beheben, können Sie php-fpm config-Datei z.B./etc/php-fpm.d/www.conf
, in der Regel in Abschnitt[www]
:entweder kommentieren Sie die Zeile:
;clear_env = no
oder neue Zeile hinzufügen:
env[PATH] = '/usr/local/bin:/usr/bin:/bin'
InformationsquelleAutor lubosdz