[gelöst] Keine Bilder in PDF bei Aufruf mit https
am 28.02.2020 - 09:36 Uhr in
Wir haben eine Installation, mit der wir PDF-Flyer über eine View generieren.
Die Flyer werden als Node angelegt und es gibt viele Bild-Felder, wo die User Bilder aus einem Pool wählen können.
Die Installation läuft seit mehreren Jahren problemlos beim Kunden auf einem Windows Server (unverhandelbar).
Jetzt wurde die Installation auf einen anderen Server umgezogen und ein paar Parameter haben sich geändert.
- Windows / Apache 2.4
- PHP 7.13 (vorher PHP 5.6)
- Drupal 7.69 (vorher 7.59)
- Modul TCPDF 7.x-1.0-beta1
- Library TCPDF 6.2.13
- Modul views pdf 7.x-1.7
Diese Module wurden dabei auch aktualisiert.
Also keine, die mit PDF oder TDPCF direkt in Bezug stehen:
- faq
- filefield_paths
- l10n_update
- link
- print
- views (7.x-3.23)
- webform
Jetzt tritt folgends Problem auf:
Wenn wir das PDF mit http aufgerufen wird, dann sieht es wie erwartet aus und enthält alle Bilder.
Wird die Seite mit https aufgerufen, fehlen die Bilder im PDF, die als Felder in der View eingebunden werden und fix auf einem Hintergrundbild positioniert wurden.
Das Hintergrundbild selbst ist aber da.
Der entsprechende Node, von dem die View erzeugt wird, zeigt die Bilder ebenfalls.
Diese Fehler sind im Watchdog zu sehen (nur beim Aufruf mit https).
- imagecreatefromjpeg(https://domain/sites/default/files/header/411/meinbild.jpg): failed to open stream: No such file or directory in TCPDF->Image() (Zeile 7033 von D:\Programme\Apache24\htdocs\sites\all\libraries\tcpdf\tcpdf.php).
- getimagesize(https://domain/sites/default/files/header/411/meinbild.jpg): failed to open stream: No such file or directory in TCPDF_IMAGES::_parsejpeg() (Zeile 171 von D:\Programme\Apache24\htdocs\sites\all\libraries\tcpdf\include\tcpdf_images.php).
- getimagesize(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in TCPDF_IMAGES::_parsejpeg() (Zeile 171 von D:\Programme\Apache24\htdocs\sites\all\libraries\tcpdf\include\tcpdf_images.php).
Wir haben natürlich schon die entsprechenden Fundstellen für diese Fehler im Netz durchgeschaut, aber nichts hilfreiches gefunden.
u.a. Haben wir eine andere TCPDF Library installiert, die aber mit einem Hinweis auf fehlende CURL Installation gescheitert ist.
Hat jemand von Euch sowas schon mal beobachtet?
Oder einen Tipp, was wir noch testen können?
- Anmelden oder Registrieren um Kommentare zu schreiben
Moinsen, im Browser ist
am 28.02.2020 - 14:27 Uhr
Moinsen,
im Browser ist https://domain/sites/default/files/header/411/meinbild.jpg aber erreichbar oder?
Ja genau, @glycid. Das Bild
am 28.02.2020 - 15:03 Uhr
Ja genau, @glycid.
Das Bild ist im Browser erreichbar.
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Fern-Diagnose ist hier besonders schwierig.
am 02.03.2020 - 12:17 Uhr
Die Echtzeit-Generierung von PDF durch Besucher ist etwas, was schnell mal zu Problemen führen kann und auch wenn es funktioniert meiner Meinung nach zu viele Ressourcen frisst.
Da gibt es so viele Komponenten, die zusammen spielen müssen, da vor allem SSL-Verbindung nicht gleich SSL-Verbindung ist. Ich nehme an, daß die PDF Library irgendwie Problem damit hat und sei es auch nur eine Variierung des Zertifikats, die evtl. voreingestellt ist usw. Das heißt vor allem, daß es sehr genau darauf ankommt, wie das Produktiv-System genau konfiguriert ist, inkl. dem verwendeten SSL-Zertifikat und wie dieses eingebunden ist. Das nicht verhandelbares Windows-Apache-MySQL-PHP-Stack macht eine Fehlersuche nicht gerade einfacher. Test-Szenarien mit Passwortschutz Funktionieren dann z.B. auch nur, wenn die PHP Bibliothek mit Passwörtern umgehen kann zw. das Drupal-Modul diese konfigurierbar und übertragbar machen. Sonnst muss man da auch nur zum Testen direkt in den Bibliotheken "hacken".
Wir hatten mit einer anderen PDF-Bibliothek vor einer Weile auch schon solche Probleme und das trotz "LEMP"-Stack. Wenn das Modul mehrere PDF-Bibliotheken unterstützt lohnt da auf jede Fall ein Test mit den anderen verfügbaren. Die haben nämlich alle Stärken und Schwächen. Manche können z.B. kein SVG auslesen, andere schon.
# DrupalCenter-Moderator # https://www.drupal.org/u/c-logemann
# CTO der Nodegard GmbH: Tech. Concepts | Security + Availability Operations / Wir unterstützen IT-Abteilungen, Agenturen, Freiberufler:innen
Ja, Du sagst es...Erstens
am 02.03.2020 - 12:55 Uhr
Ja, Du sagst es...
Erstens erschwert die Windows Umgebung, weil es auch nicht so viele Hinweise im netz dazu gibt.
Zweitens die Problematik mit den PDF-Modulen, wo jedes einen anderen Haken hat.
Wir gehen da sehr ungerne von TCPDF weg, weil es ja damals ehr gründlich ausgestet wurde - auch mit diversen Modulen.
Und dieses hier hat die besten Ergebnisse gebracht im Gesamt-Zusammenspiel.
Wie geschrieben:
Es hat über Jahre funktioniert auf dieser Windows-Umgebung incl. SSL.
Geändert hat sich die PHP Version und Drupal-Core + View Module.
Die Module, die mit der PDF-GEnerierung in Zusammenhang stehen, haben sich nicht geändert.
Also Views PDF.
Allerdings betrifft es auch die Generierung eines Hilfe-PDF, die mit Print Modul funktioniert.
Nächster Schritt wird sein, eine neuere Tcpdf Library zu testen.
Wobei wir, wenn ich mich richtig erinere damals sogar einen schritt zurück sind bei der Library, weil es mit neurerer Probleme gab.
Aber das mag ja Geschichte sein.
Ideen, woran es noch liegen könnte, sind also nach wie vor willkommen. ;-)
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Letztendlich hat der Versuch,
am 03.03.2020 - 08:30 Uhr
Letztendlich hat der Versuch, eine neuere Version der TCPDF Library zur Lösung verholfen:
Der Versuch scheiterte daran, dass gemeldet wurde, CURL sei nicht installiert.
Das hat verwundert, weil die Extension aktiviert war und es vor dem Umzug (und ohne SSL) keine diesbezüglichen Probleme gab.
Nun hat sich der Administrator des Servers den Status von CURL noch mal näher angesehen und festgestellt, dass war die extension aktiviert war, aber die Installation einen Fehler hatte, so dass CURL eben doch nicht richtig lief.
Kaum hatte er die Installation korrekt gemacht, lief auch schon PDF Generierung mit SSL.
Und zwar auch mit der älteren Version der Library.
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Bitte Thread als [gelöst] markieren
am 04.03.2020 - 14:29 Uhr
Siehe Kommentar-Titel
# DrupalCenter-Moderator # https://www.drupal.org/u/c-logemann
# CTO der Nodegard GmbH: Tech. Concepts | Security + Availability Operations / Wir unterstützen IT-Abteilungen, Agenturen, Freiberufler:innen