H
Harry2o
Grünschnabel
Hallo,
da ich wirklich nicht weiß, was eigentlich das grundlegende Problem ist, schildere ich einfach kurz die Situation.
Apache 2.0.54 mit PHP-4.3.10 zeigt keine Bilder an, die einer Ramdisk liegen. Andere Dateitypen funktionieren jedoch wunderbar.
In einem Verzeichnis html/ gibt es einen Ordner pics/ welches eine 50MB große Ramdisk ist (mount tmpfs -t tmpfs -o size=50M pics). Möchte ich nun html/pics/picture.png anzeigen, bekomme ich vom Server die URL selber wieder angezeigt - wget liefert "picture.png has sprung into existence" und in der access.log(!) steht, dass das Bild mit HTTP Code 206 geliefert wurde. Rufe ich jedoch eine HTML-Datei html/pics/test.html auf, wird diese ganz normal richtig dargestellt. (Ein eingebundenes img (src="./picture.png) bleibt btw leer )
Liegt dasselbe Bild z.B. in html/ (also echt auf der Platte), wird html/picture.png ganz normal angezeigt.
Ich hatte zuerst den Verdacht, es läge daran, dass pics/ ursprünglich ein Symlink auf /dev/shm war. Aber, erstens ist FollowSymLinks an, zweitens funktioniert ja die test.html. Dann dachte ich, es läge an der entfernten logischen Partition (/dev/shm); aber auch Fehlanzeige, da eine direkt in dem Verzeichnis angelegte Ramdisk dasselbe Problem zeigt.
Dass .html funktioniert, aber .png (und .bmp) nicht, lässt auf ein Problem mit Filetypen - innerhalb Ramdisks (oder unter welchen Umständen auch immer) - schließen.
Ein htaccess "AddHandler image .png" ändert nichts. (Interessant jedoch, dass "AddHandler php-script .png" den Inhalt zeichenweise zurückgibt; semantisch Schwachsinn, ich weiß, aber interessant bzgl der Filetypenthese).
Ja .. was gibt's sonst noch zu sagen? Das sind vorerst die Fakten.
Achja, unter Apache 2.2.3 funktioniert es wie gewünscht - keine Probleme beim Anzeigen irgendwelcher Dateitypen auf Ramdisks. Hilft mir aber nichts, es muss unter 2.0 laufen. Die Konfigurationsdateien unterscheiden sich nur unwesentlich, und nicht in Punkten, die damit irgendwie in Zusammenhang zu bringen seien.
[edit]OS ist debian mit 2.4er kernel; und die Zugriffsrechte aller Dateien sind gleich, nämlich rw-r-r [/edit]
Hat irgendjemand eine Idee?
~Harry
[edit2] Mittlerweile hab' ich auch versucht, die Dateien www-data zu geben. Außerdem die Ramdisk ALS www-data gemountet und www-data die Rechte an den gemounteten Daten verschafft (kann man in der /etc/fstab eintragen, dass www-data auch mounten darf). Alles beim Alten, bei den Bildern ist weiterhin nur die URL selber als Text sichtbar! [/edit2]
da ich wirklich nicht weiß, was eigentlich das grundlegende Problem ist, schildere ich einfach kurz die Situation.
Apache 2.0.54 mit PHP-4.3.10 zeigt keine Bilder an, die einer Ramdisk liegen. Andere Dateitypen funktionieren jedoch wunderbar.
In einem Verzeichnis html/ gibt es einen Ordner pics/ welches eine 50MB große Ramdisk ist (mount tmpfs -t tmpfs -o size=50M pics). Möchte ich nun html/pics/picture.png anzeigen, bekomme ich vom Server die URL selber wieder angezeigt - wget liefert "picture.png has sprung into existence" und in der access.log(!) steht, dass das Bild mit HTTP Code 206 geliefert wurde. Rufe ich jedoch eine HTML-Datei html/pics/test.html auf, wird diese ganz normal richtig dargestellt. (Ein eingebundenes img (src="./picture.png) bleibt btw leer )
Liegt dasselbe Bild z.B. in html/ (also echt auf der Platte), wird html/picture.png ganz normal angezeigt.
Ich hatte zuerst den Verdacht, es läge daran, dass pics/ ursprünglich ein Symlink auf /dev/shm war. Aber, erstens ist FollowSymLinks an, zweitens funktioniert ja die test.html. Dann dachte ich, es läge an der entfernten logischen Partition (/dev/shm); aber auch Fehlanzeige, da eine direkt in dem Verzeichnis angelegte Ramdisk dasselbe Problem zeigt.
Dass .html funktioniert, aber .png (und .bmp) nicht, lässt auf ein Problem mit Filetypen - innerhalb Ramdisks (oder unter welchen Umständen auch immer) - schließen.
Ein htaccess "AddHandler image .png" ändert nichts. (Interessant jedoch, dass "AddHandler php-script .png" den Inhalt zeichenweise zurückgibt; semantisch Schwachsinn, ich weiß, aber interessant bzgl der Filetypenthese).
Ja .. was gibt's sonst noch zu sagen? Das sind vorerst die Fakten.
Achja, unter Apache 2.2.3 funktioniert es wie gewünscht - keine Probleme beim Anzeigen irgendwelcher Dateitypen auf Ramdisks. Hilft mir aber nichts, es muss unter 2.0 laufen. Die Konfigurationsdateien unterscheiden sich nur unwesentlich, und nicht in Punkten, die damit irgendwie in Zusammenhang zu bringen seien.
[edit]OS ist debian mit 2.4er kernel; und die Zugriffsrechte aller Dateien sind gleich, nämlich rw-r-r [/edit]
Hat irgendjemand eine Idee?
~Harry
[edit2] Mittlerweile hab' ich auch versucht, die Dateien www-data zu geben. Außerdem die Ramdisk ALS www-data gemountet und www-data die Rechte an den gemounteten Daten verschafft (kann man in der /etc/fstab eintragen, dass www-data auch mounten darf). Alles beim Alten, bei den Bildern ist weiterhin nur die URL selber als Text sichtbar! [/edit2]
Zuletzt bearbeitet: