[gelöst] Bilder Upload funktioniert nicht[open_basedir restriction]
![](http://www.drupalcenter.de/files/noavatar_mini.gif)
am 22.03.2011 - 19:08 Uhr in
* warning: is_file(): open_basedir restriction in effect. File(/var/tmp/phpdDI7KB) is not within the allowed path(s): (/srv/www/vhostsxxx/subdomains/neu/httpdocs:/tmp) in /srv/www/vhosts/xxx/subdomains/neu/httpdocs/includes/image.inc on line 117.
* Die ausgewählte Datei G80Kj.gif konnte nicht hochgeladen werden. Die Datei ist kein bekanntes Bildformat.
Diese Fehlermeldung begleitet mich nun seit Stunden.
Erzeugt wird sie durch das hochloden eines Bildes.(zumindest der Versuch)
Ich benutze die GD2 und habe inwischen stundenlang bei google gesucht und auch viele Seiten gefunden. Aber leider keine die einem weiterhilft.
Ich bekomme vom Hoster keine Rechte aber ich glaube auch nicht das das hier notwendig ist.
Wenn ich das richtig verstanden habe ist das Problem, dass die Bilder in /var/tmp/ geladen werden und anschließend in den richtigen Ordner kopiert werden sollen.
Warum werden sie denn in var/tmp geladen und nicht in das von mir als solches in den Konfigurationen gekenzeichnete temporäre Verzeichniss?
Ich hoffe jemand kann mir helfen, bin neu in der Materie Drupal und kann nicht glauben das so eine grundlegende Funktion nicht funktionieren soll, es sei denn man hat Superrechte!
- Anmelden oder Registrieren um Kommentare zu schreiben
Dies liegt wohl an einem
am 22.03.2011 - 19:57 Uhr
Dies liegt wohl an einem falsch konfiguriertem temporären Verzeichnis deiner Drupal Installation.
Du kannst diese Werte auf der folgenden Seite ändern /admin/settings/file-system
![](http://img232.imageshack.us/img232/6127/bild000r.png)
Natürlich muss das dort eingestellte tmp Verzeichnis dann auch beschreibbar sein.
SteffenR
Dachte ich auch erst, da es
am 22.03.2011 - 21:46 Uhr
Dachte ich auch erst, da es in vielen Posts erwähnt wurde.
Dateisystem-Pfad:
sites/default/files
Temp:
sites/default/files/temp
Mit Filezilla Rechte auf 777.
temp anstatt tmp, weil der Ordner tmp sich irgendwie immer die Rechte wieder für das schreiben wegnimmt oO
Was passiert denn bei
am 23.03.2011 - 07:21 Uhr
Was passiert denn bei normalen Datei-Uploads im System - werden diese korrekt verarbeitet ?
SteffenR
Ich habe Testweiße in einem
am 24.03.2011 - 08:50 Uhr
Ich habe Testweiße in einem Inhaltstyp ein Datenfeld eingerichtet und eine Textdatei hochgeladen.
Das funktioniert super!
EDIT: Vielleicht ist es von Bedeutung, ich habe Drupal auf meinem HomeServer installiert und jetzt hochkopiert.
Daheim hatte ich keine Probleme, was wie ich gelesen habe darauf zurückzuführen ist, dass Windows so etwas wie Dateiberechtigungen garnicht kontrolliert/hat.
EDIT2:
Gibt es eine alternative Variante wie das mit dem Bilder Upload funktionieren kann?
file.inc angepasst
am 31.03.2011 - 23:21 Uhr
Ich hatte dasselbe Problem wenn ich ein Bild zu einem User Account hinzufügen wollte. Betreibe D7 bei einem Hoster mit Microsoft IIS Webserver. Das Problem liegt bei mir daran, dass der Betreiber im PHP die Drupal Schemata (public:// temporary:// etc.) nicht in der Liste der allowed paths eingetragen hat. Ich habe in der Datei include/file.inc die Zeile 1528 modifiziert habe und einen Zwischenschritt mache wo ich $filepath initialisiere und einen vollen Pfad zuweise der dann in der Liste der allowed paths qualifiziert
$file->uri = $file->destination;
$filepath = drupal_realpath($file->uri);
if (!move_uploaded_file($_FILES['files']['tmp_name'][$source], $filepath)
Ist natürlich mühsam wenn man solche fixes finden muss, ich überlege mir gerade ob ich nicht den Provider wechseln will so dass ich auf Unix bin.
Hope this helps
@mh000: Im Core solltest du
am 01.04.2011 - 07:29 Uhr
@mh000: Im Core solltest du eigentlich nie Sachen ändern - gerade in Hinblick auf die Updatefähigkeit deiner Drupal-Installation legst du dir da selbst "Steine in den Weg"..
Wenn du nicht wirklich auf den IIS angewiesen bist, ist UNIX wohl das System der Wahl.
Wenn man auf Drupal.org die Threads über die Installation von Drupal auf IISsen liest, scheint es ja alles nicht ganz soo trivial zu sein..
SteffenR
Also das ganze läuft bei mir
am 01.04.2011 - 09:22 Uhr
Erstmal danke für den Tipp!
Also das ganze läuft bei mir anscheinend auf UNIX, das "Pfad-Rechte-Problem" ist ja nicht abhängig von der Plattform.
Ich habe D6 und meine file.inc hat leider nur 1404 Zeilen, welche Funtion muss ich denn anpacken?
Auch wenn es nicht updatefähig ist würde ich es gerne so probieren.
Wenn man weiß das es daran liegt kann man sich immer noch etwas einfallen lassen.
easyMaxi schrieb Erstmal
am 01.04.2011 - 10:09 Uhr
Erstmal danke für den Tipp!
Also das ganze läuft bei mir anscheinend auf UNIX, das "Pfad-Rechte-Problem" ist ja nicht abhängig von der Plattform.
Ich habe D6 und meine file.inc hat leider nur 1404 Zeilen, welche Funtion muss ich denn anpacken?
Auch wenn es nicht updatefähig ist würde ich es gerne so probieren.
Wenn man weiß das es daran liegt kann man sich immer noch etwas einfallen lassen.
Du solltest bei dir gar keine Core Dateien anpacken ;).. Die von @mh000 beschriebenen Probleme treten bei Drupal 7 auf. Hast du denn schon geschaut, ob die Schreibrechte auch wirklich geändert wurden und die entsprechenden Module für die Imagecache korrekt konfiguriert sind ( erlaubte Dateitypen überprüfen, GDLib prüfen etc.. )
SteffenR
Und wenn nach Steffen Tipps
am 01.04.2011 - 10:26 Uhr
Und wenn nach Steffen Tipps es immer noch nicht geht, könntest Du auch versuchen die obenbasedir Einstellungen der php.ini Einstellungen zu beeinflussen, evt. mit Plesk, bin mir nicht sicher.
<?php
php_admin_value open_basedir /srv/www/vhostsxxx/subdomains/neu/httpdocs:/tmp
?>
Die Zeile wurde bei mir in der Fehlermeldung angegeben
am 01.04.2011 - 14:57 Uhr
Die Zeilenangabe kam bei mir in der Fehlermeldung vor, daher war die Aenderung eigentlich eine kleine Sache (siehe Screencapture).
Trotzdem habe ich das äusserst ungerne gemacht; Modifikationen im Core sind völlig unsinnig und sollten nicht notwendig sein wenn man PHP richtig konfiguriert hat. Die Fehlermeldung kommt vom PHP (file_save_upload), nicht von Drupal und PHP findet die URI nicht in der Liste der open_basedir bzw. löst die URI vor dem Check nicht auf in einen Pfad. Da ich von meinem Provider PHP vorkonfiguriert zur Verfügung gestellt kriege kann ich das nicht beeinflussen, daher mein "Notausgang". Ich werde voraussichtlich jedoch den Provider wechseln so dass ich auf UNIX meine Site betreiben kann.
Also ich habe nun den Hoster
am 05.04.2011 - 21:07 Uhr
Also ich habe nun den Hoster gewechselt, denn mein alter wollte mir bei der Geschichte nicht helfen und beim Neuen geht es auf anhieb ...
Danke für eure Hilfe, aber ich denke es war ein Servereinstellungsproblem was wir nicht beheben konnten.