2017-05-05 2 views
3

Ich verwende die wkhtml2pdf libary in meiner Laravel-Anwendung. Auf meiner lokalen Umgebung funktioniert das perfekt. Mein PDF ist korrekt erstellt. In meiner .env Datei Ich habe:PHP - wkhtmltopdf binäre Datei

WKHTML2PDF_BIN_FILE=wkhtmltopdf-amd64

Aber auf meinem scaleway Server habe ich die folgenden Fehler:

enter image description here

Meine Software unterstützt armhf. Also konnte ich die AMD/64-Bit Versionen nicht installieren. Ich habe wkhtmltopdf auf meinem Server wie folgt installiert:

Aber jetzt funktioniert es nicht online. Ich denke, dass meine Konfiguration falsch ist (der Link zur bin-Datei). Aber wie kann ich den richtigen Link zu meiner WKHTML2PDF_BIN_FILE finden und einstellen?

UPDATE:

Wenn ich die folgende commmand eingeben:

sudo find/-name "wkhtmltopdf*" 

Dann werde ich die folgenden Ergebnisse:

/var/lib/dpkg/info/wkhtmltopdf.md5sums 
/var/lib/dpkg/info/wkhtmltopdf.list 
/var/www/mydomain.com/html/vendor/nitmedia/wkhtml2pdf/src/Nitmedia/Wkhtml2pdf/lib/wkhtmltopdf-i386 
/var/www/mydomain.com/html/vendor/nitmedia/wkhtml2pdf/src/Nitmedia/Wkhtml2pdf/lib/wkhtmltopdf-amd64 
/var/www/mydomain.com/html/vendor/nitmedia/wkhtml2pdf/src/Nitmedia/Wkhtml2pdf/lib/wkhtmltopdf-0.12.1-OS-X.i386 
/usr/share/doc/wkhtmltopdf 
/usr/share/man/man1/wkhtmltopdf.1.gz 
/usr/bin/wkhtmltopdf 

Ich habe versucht, die WKHTML2PDF_BIN_FILE=wkhtmltopdf-amd64-WKHTML2PDF_BIN_FILE=/usr/bin/wkhtmltopdf ändern aber das ergibt:

enter image description here

Wie kann ich das beheben?

UPDATE 2:

ich das meine Config hinzugefügt haben:

WKHTML2PDF_BIN_PATH=/usr/bin/ 
WKHTML2PDF_BIN_FILE=wkhtmltopdf 

Aber dann den Fehler QXcbConnection Ich erhalte: Es konnte keine Verbindung angezeigt werden soll. Ich habe in this Thema gelesen, dass ich es mit xvfb-run wkhtmltopdf ausführen könnte. Aber wo sollte ich das in der Bibliothek hinzufügen?

+1

'sudo find/-name" wkhtmltopdf * "' gibt Ihnen den genauen Pfad. – aynber

+0

@aynber, ich habe das Thema mit Ergebnissen aktualisiert. Könntest du mir auf meinem Weg helfen? – nielsv

+0

[Dies könnte helfen] (https://github.com/NitMedia/wkhtml2pdf/issues/49). – aynber

Antwort

1

Wenn Sie den Code der Bibliothek in this block of code überprüfen, sucht es nach dem binären Dateinamen und dem binären Dateipfad, die zwei separate Dinge sind.

Vielleicht haben Sie zwei env params hinzufügen statt einem:

WKHTML2PDF_BIN_PATH=/usr/bin/ 
WKHTML2PDF_BIN_FILE=wkhtmltopdf 
+0

Ich habe mein Thema mit einem Update aktualisiert. – nielsv

+0

können Sie bitte Ihre Konfigurationsdatei, wo die wkhtml2pdf nicht die '.env' Datei konfiguriert ist –

+0

da, wenn Sie die Konfiguration zu der' .env' hinzufügen, ohne die Konfiguration in der realen Konfigurationsdatei, die liest aus der '.env' Es wird so sein, als ob du nichts getan hättest –

0

Try hier dieses Problem Thread folgen https://github.com/NitMedia/wkhtml2pdf/issues/33

eine Konfigurationsdatei erstellen:

app/config/packages/nitmedia/wkhtml2pdf/local/config.php 

Und fügen die Wege darin:

return [ 
    'debug' => true, 
    'binpath' => '/usr/bin/', 
    'binfile' => 'wkhtmltopdf', 
    'tmppath' => '/tmp/', 
]; 

Und nicht fortget den .env Konfigurationseintrag zu löschen.

0

Haben Sie dies auf dem Server Ihres Servers versucht?

export DISPLAY=:0

effektiv die Anzeige düpieren.