Keine Grafiken im TYPO3 Backend – Real Url könnte Ursache sein
Seit Tagen zerbreche ich mir den Kopf. Habe 2 neue Typo3 Projekte aufgesetzt und natürlich meine Standardkonfigurationen und Extensions eingespielt. Der Aufruf des Frontends zeigte keinerlei Probleme. Im Backend, allerdings fehlten überall die Vorschaubilder, auch in der Dateiliste. Zunächst tat ich da Naheliegendste und testete GrafikMagicks auf Funktion. Es lief, ich konnte die Bilder für das Frontend skalieren.
Der Verzweiflung nahe, telefonierte ich mit anderen TYPO3 Cracks, keiner hatte eine Lösung. Also deinstallierte ich nach und nach alle Extensions. Plötzlich, nachdem ich Real Url deaktiviert hatte, waren alle Grafiken wieder da! Das Hurra war etwas verfüht, denn ich wusste nicht warum.
Beim Xten Mal Googlen bin ich auf diesen Blogbeitrag gestoßen. Whitespaces?…. natürlich habe ich auch eine fertige realurl_conf.php, die ich immer kopiere und ggf. anpasse. Das wars!!!! Bei mir hatten sich 2 Leerzeichen nach dem „php?>“ eingeschlichen.
Fazit:
In der Real Url Konfigurationsdatei dürfen nach dem letzten php-Tag keinerlei Zeichen (auch keine leeren) mehr stehen! Wie man auf soetwas nur kommen kann ist mir allerdings schleierhaft.
4 Comments to Keine Grafiken im TYPO3 Backend – Real Url könnte Ursache sein
Also prinzipiell hat das nix mit RealURL zu tun. Whitespaces in von PHP eingebundenen Dateien, die nicht in enthalten sind (also Leerzeichen/-zeilen am Anfang oder Ende der Datei) werden von PHP an den Browser ausgegeben.
Wenn es nun (wie so oft) der Fall ist, dass in der Datei (zB der localconf.php oder auch der realurl_config.php) noch keine Ausgabe gemacht wird, wenn diese eingelesen wird (denn die wird von TYPO3 ja erst zum Abschluss gemacht), dann wird eben erst diese Ausgabe gemacht und dann die Seite gerendert (oder eben das Bild, wenn ein Vorschaubild generiert werden soll).
In dem Fall des Vorschaubildes müssen aber über die PHP-Funktion header() noch Daten zum MIME-Type ausgegeben (sonst würde das ja als text/html oder sowas interpretiert, stattdessen kommt dann eben image/jpeg).
Wird nun aber eine Ausgabe *vor* dem header()-Aufruf gemacht, so beendet das Whitespace die Ausgabe von Headern und startet mit dem Body der Antwort des HTTP-Resonses.
Wenn danach ein header(‚Content-Type: image/jpeg‘) aufgerufen wird, dann wird das a) ignoriert und b) von einer PHP-Fehlermeldung „headers already sent, output started in …“ kommentiert (da sich keine Header mehr setzen lassen, wenn mal mit dem Body begonnen wurde). Die Datei wird somit also nicht als Bild interpretiert, sondern als Text.
Wenn du also mal die URL einer nicht sichtbaren Grafik direkt im Browser geöffnet hättest, so hättest du diese Fehlermeldung sehen können (sofern entsprechendes Error-Reporting aktiviert ist), im Zweifel stehts im PHP error_log.
Das Whitespace ist wohl auch immer in der Ausgabe von normalen HTML-Seiten aus TYPO3 am Dateianfang sichtbar, sofern die Datei nicht aus dem Cache geholt wurde (weil die realurl_config.php dann nicht eingebunden wird). Solange da aber eben keine header() mehr gesendet werden, bleibt PHP/dein Browser davon unbeeindruckt.
Schlussfolgerung: Darauf achten, dass keine Whitespaces außerhalb von stehen. Das hat wie gesagt überhaupt gar nix mit RealURL zu tun, auch nur sehr begrenzt mit TYPO3, sondern ist mehr eine PHP-Eigenschaft, die ich jetzt aber gar nicht mal als schlecht, sondern einfach als logisch, bezeichnen würde.
Gruß
Steffen
Hallo Steffen,
vielen Dank für die ausführliche Erläuterung.
Sie ist sehr hilfreich. Wenn man die Zusammenhänge kennt, kann man gezielt nach derartigen Ursachen suchen und
ich hätte mir ne Menge Zeit gespart.
Gruß Andreas
Vielen Dank für den Tipp! Ich wäre da nie drauf gekommen.
Herzlichst, Uwe
Danke, Danke, Danke…… ich habe mir ebenfalls einen Wolf gesucht.
Schreib einen Kommentar
Dieser BLOG
Werbung
TYPO3 Projekte
- ALSA GmbH
- BKK Technoform
- Connors SL
- DAV Fulda
- Enders Fenster und Türen
- Fahrradhandlung A.Riebold
- Fitnessstudio Medi Sport Gym, Bad Hersfeld
- Freiw. Feuerwehr Bad Hersfeld
- GPS Mountainbiker.de
- Günther Tank GmbH
- Hochrhoen-touren.de
- Impuls Ergotherapie Fortbildung
- Krieg & Fischer Ingenieure GmbH
- Landbäckerei Brack
- NLP Weiterbildung, Elke Post
- Physioprofil Bad Hersfeld
- Praxis am Salzberg
- RELAX Group
- RENSCH-HAUS GMBH
- Rhönschule Gersfeld
- Rohrreinigung Fulda
- V.W Günther Mineralölhandelsgesellschaft mbH
- Vogelsbergschule Lauterbach
- Wolfgang Schaub GmbH
- Zahnatelier Feinschliff
8. Dezember 2010