Datenauskunft - PDF-Export für self-hoster auf gehostetem Webspace
-
Bei welchem Anbieter seid ihr? Warum könnt ihr den Phantomjs dort nicht nutzen?
-
Wir sind bei all-inkl. Diese lehnen generell eine solche Installation ab. Einige Auszüge aus der Diskussion:
Dies hat technische Gründe.
Die von Ihnen genannte Software gehört nicht gerade zum Standardumfang eines Servers mit shared hosting und setzt auf systemnahen Programmen auf, die ausserhalb des eigentlichen Webservers laufen.
Für uns sind diesbezüglich weder Abhängigkeiten, noch Risiken, noch ein möglicher Performanceverlust des Servers abschätzbar, wenn wir derartige Programme für alle Kunden und alle Scripte verfügbar machen.Auch sind Server mit shared hosting nicht dafür vorgesehen, Software im Betriebssystem nach Kundenwünschen zu installieren.
Trotzdem können wir Ihnen leider keine andere Auskunft erteilen. Die Nutzung von Phantomjs ist bei uns im SharedHosting nicht möglich. Wir bitten um Ihr Verständnis.
-
ja ... shared hosting ist natürlich ein Problem. Vielleicht dann doch ein kleiner virtueller Server?
-
Ebenfalls all-inkl hier.
Phantomjs kann man schon manuell hochladen und es wird auch gestartet stürzt aber ab, ebenso wkhtmltopdf.
Ich bin mir nicht sicher, ob es daran liegt, dass eine lib fehlt oder ob es nicht eine Arbeitsspeicher Begrenzung für Programme, die nicht zum Webserver gehören, gibt..@Andy die meisten Anforderungen für Webapps, wie CT, werden bei geringem Preis und Verwaltungsaufwand von shared hosting bestens erfüllt. Ebenso unsere Gründe fürs Self-Hosting. Nur eben nicht PhantomJS, o.ä.
-
@fodinabor Hast du die korrekte Binary verwendet? Wenn du ermitteln kannst, welches OS euer Webhoster verwendet, kannst du explizit die für das betreffende OS kompilierte (oder eine kompatible) Binary zu phantomjs herunterladen und diese im Ordner /bin platzieren. Damit sollte dies auch auf einem Shared Hosting klappen.
Achtung: Beachte hier aber auch die AGB's des Hosters. Es kann sein, dass die Verwendung eigener Binaries generell untersagt ist.
-
@seetalchile ja, die Info habe ich, ich habe auch die offizielle Version vom Ubuntu package repo versucht (da die nicht statisch kompiliert ist und QT nicht installiert ist funktioniert das natürlich auch nicht...)
davon abgesehen glaube ich, dass der Aufwand hier einen Workaround zu finden fast größer sein dürfte als die Unterstützung von einer PHP lib zu implementieren..
-
@fodinabor sagte in Datenauskunft - PDF-Export für self-hoster auf gehostetem Webspace:
Ebenso unsere Gründe fürs Self-Hosting.
Wir hatten uns vor einigen Jahren vom shared hosting verabschiedet, weil die Performance (und die Flexibilität) so miserabel war. Mag aber auch am Anbieter gelegen haben ...
CT hosten wir jetzt direkt bei CT und alle Webseiten, die Nextcloud, LimeSurvey usw. auf einem virtuellen Server.
-
Okay, ich habe das jetzt mit nem winzigen script für uns gelöst.
Wer Interesse hat:
https://next.egp-jugend.de/index.php/s/otyGasgsur1Eg6tInfos:
- PHP Version 5.6+ vorausgesetzt (der Pfad zu php56, php70, php71 muss ggf. in der Datei phantomjs angepasst werden - Standard ist 7.1)
- Installation: kopiere die Dateien aus der zip in den
bin
Ordner, wo sonst die phantomjs Datei liegen müsste, die phantomjs muss für den webuser ausführbar sein, ansonsten gerne wieder eine .htaccess mit dem InhaltDeny from all
anlegen. - mpdf muss via composer installiert werden (dafür mit installiertem composer in dem
bin
Ordnercomposer install
ausführen)
Bei Rückfragen gebe ich gerne etwas Support
-
@fodinabor sagte in Datenauskunft - PDF-Export für self-hoster auf gehostetem Webspace:
Okay, ich habe das jetzt mit nem winzigen script für uns gelöst.
Wer Interesse hat:
https://next.egp-jugend.de/index.php/s/otyGasgsur1Eg6tInfos:
- PHP Version 5.6+ vorausgesetzt (der Pfad zu php56, php70, php71 muss ggf. in der Datei phantomjs angepasst werden - Standard ist 7.1)
- Installation: kopiere die Dateien aus der zip in den
bin
Ordner, wo sonst die phantomjs Datei liegen müsste, die phantomjs muss für den webuser ausführbar sein, ansonsten gerne wieder eine .htaccess mit dem InhaltDeny from all
anlegen. - mpdf muss via composer installiert werden (dafür mit installiertem composer in dem
bin
Ordnercomposer install
ausführen)
Bei Rückfragen gebe ich gerne etwas Support
Ich kann hier gar nicht oft genug auf "Gefällt mir" drücken. Das ist ja der Wahnsinn!!! Vielen Dank für die Mühe und die tolle Umsetzung. Wenn das jetzt noch zum Standard in CT werden würde... Wow!
-
Wir sind bei DomainFactory und da habe ich das gleiche Problem mit PDF erstellen.
Wie funktioniert das mit dem Composer und der mpdf installation? -
@benib Was genau ist unklar? Wo bleibst Du stecken?
-
@joe999 brauche ich dazu einen ssh Zugang oder geht das auch ohne?
-
Für den MPDF via Composer wirst Du SSH benötigen, ja.
-
Alternativ kannst du auch lokal MPDF via composer installieren und den vendor Ordner hochladen....
-
Das hat jetzt schonmal funktioniert.
Leider kann ich immernoch keine PDF exportieren.Bei der Datenauskunft kommt: Creating Pdf from Html failed.
Beim Kalender PDF export kommt: Fehler aufgetreten in churchcal. Could not execute phantomjs, Error code: 127Im Logfile kommt einmal:
ErrorHandler: Creating Pdf from Html failed. RequestId: 5b38d4b8f2548 Module: Param:
und: Error in AbstractModule:call - Could not execute phantomjs, Error code: 127Okay, bei all-inkl. zum testen funktioniert es. bei domainfactory leider noch nicht. Das ist schonmal was.
-
hast du der Datei Ausführungsrechte hinzugefügt?
Also z.b. 755?
zum testen setz die Rechte mal auf 777 (und änders danach bitte unbedingt wieder).
Kann sein, dass der Webuser nur in der besitzenden Gruppe ist o.ä... -
Ja hab ich.
Es geht auch, wenn ich die Zeile
/usr/bin/php71 bin/pdfgen.php $2 $3 $4 $5
lösche. Nur dann wird ja auch nichts erstellt.
Vermutlich fehlt die Berechtigung die php71 auszuführen oder die gibt es dort nicht.
PHP 7.1.15 läuft. -
ja.. das kann gut sein.. versuch mal einfach nur php, /usr/bin/php71 oder nur php71.. weiß leider nicht mehr, wie ich den passenden Pfad gefunden hatte -,-
-
Hab noch etwas rumprobiert. Damit funkionierts:
/usr/local/bin/php7-71LATEST-CLIDanke.
-
@fodinabor Vielen Vielen Dank. Das ist genau das, wonach ich schon seit langem gesucht habe.
Ich musste nur noch die Version für mpdf anpassen (in der composer.json), damit es mit PHP7.4 klar kommt.Unsere Heizungssteuerung basiert auf einer direkten Abfrage der Datenbank. Da dies nur als Selfhoster möglich ist, wir aber mangels fehlender Endpoints in der REST-API nicht auf die Ressourcen zugreifen können (für die alte API wollen wir nichts mehr entwickeln), bleibt uns nur exakt dieser Weg. Und Dank deiner Lösung, die ich hier mehr oder weniger zufällig entdeckt habe, sind nun auch (wieder) PDFs möglich. Hosting: WebHosting bei Hetzner
Schick sehen die noch nicht so wirklich aus. Kann man da etwas formatieren? Hat das jemand schon versucht? Habe mir mangels Zeit noch nicht die mpdf Parameter angesehen. Ist aber nur sekundär...
Nochmals: Danke!