Seite 2 von 3
Verfasst: 01.10.2003 09:35
von andreasOymann
Code: Alles auswählen
Warning: file_exists(): open_basedir restriction in effect. File(c:\temp\php40EA.tmp) is not within the allowed path(s): (d:\web) in d:\web\andreas.oymann\retriever-hilfe.de\htdocs\forum\includes\usercp_avatar.php on line 170
Verfasst: 01.10.2003 09:43
von codemonkey
Was hast du denn für eine PHP Version drauf?
Verfasst: 01.10.2003 09:46
von andreasOymann
PHP Version 4.3.2
A.
Verfasst: 01.10.2003 09:58
von PhilippK
andreasOymann hat geschrieben:Code: Alles auswählen
Warning: file_exists(): open_basedir restriction in effect. File(c:\temp\php40EA.tmp) is not within the allowed path(s): (d:\web) in d:\web\andreas.oymann\retriever-hilfe.de\htdocs\forum\includes\usercp_avatar.php on line 170
Sorry, aber das Verzeichnis c:\temp ist da immer noch nicht in den erlaubten Verzeichnissen angegeben.
Kannst du mal bitte folgendes machen: erstelle eine Datei phpinfo.php mid folgendem Inhalt:
Lade die Datei auf den Server und poste den Link zu der Datei. Ggf. kannst du mir auch 'ne PN schicken.
Gruß, Philipp
Verfasst: 01.10.2003 09:58
von Mungo
Der "temp" Ordner und dein Account befinden sich ja auf zwei verschiedenen Partitionen. Dir ist anscheinend nicht erlaubt die Partition zu wechseln. Hat dein Hoster vielleicht SafeMode an?
Verfasst: 01.10.2003 10:21
von andreasOymann
Wofür wird der temp-Ordner benutzt? Kann ich die usercp_avatar.php nicht umschreiben, so daß ein Verzeichnis innerhalb meines Webspaces genutzt wird???
A.
Verfasst: 01.10.2003 10:26
von Mungo
Das Avatar wird in den temp ordner hochgeladen und dann in den avatars-Ordner verschoben. Frag doch einfach mal deinem Provider ob die deinen temp Ordner nicht ändern können. So dass images/avatars/tmp klappt.
Verfasst: 01.10.2003 10:29
von andreasOymann
brauch ich den Provider dafür? wenn ich den Ordner in der usercp-avatar.php ändere ...???
A.
Verfasst: 01.10.2003 10:45
von PhilippK
So, Andreas hat mir die phpinfo zukommen lassen. Die wesentlichen Daten:
phpinfo hat geschrieben:file_uploads: On
open_basedir: d:\web
post_max_size: 10M
safe_mode: Off
upload_max_filesize: 10M
upload_tmp_dir: c:\temp
Zur Erläuterung: die Datei wird in das Verzeichnis hochgeladen, dass unter upload_tmp_dir angegeben ist.
PHP Dokumentation hat geschrieben:Temporäres Verzeichnis, in dem Dateien während des Uploads gespeichert werden. Für dieses Verzeichnis muss der Benutzer, unter dem PHP läuft, Schreibberechtigung haben. Wenn hier nichts angeben wird, benutzt PHP das Standardverzeichnis für temporäre Dateien auf Ihrem System.
Anschließend muss die Datei jedoch in diesem Verzeichnis geprüft werden. Genau dies dürfte jedoch auf Grund der open_basedir-Einstellung scheitern:
PHP Dokumentation hat geschrieben:Limit the files that can be opened by PHP to the specified directory-tree, including the file itself. This directive is NOT affected by whether Safe Mode is turned On or Off.
When a script tries to open a file with, for example, fopen() or gzopen(), the location of the file is checked. When the file is outside the specified directory-tree, PHP will refuse to open it. All symbolic links are resolved, so it's not possible to avoid this restriction with a symlink.
The special value . indicates that the directory in which the script is stored will be used as base-directory.
Under Windows, separate the directories with a semicolon. On all other systems, separate the directories with a colon. As an Apache module, open_basedir paths from parent directories are now automatically inherited.
The restriction specified with open_basedir is actually a prefix, not a directory name. This means that "open_basedir = /dir/incl" also allows access to "/dir/include" and "/dir/incls" if they exist. When you want to restrict access to only the specified directory, end with a slash. For example: "open_basedir = /dir/incl/"
Erst anschließend überträgt phpBB die Datei (mit
move_uploaded_file) in den Avatar-Ordner.
Diese Reihenfolge (erst im Temp-Verzeichnis prüfen, dann in den Ordner hochladen) sollte auch so bleiben, da ansonsten auch eine PHP-Datei hochgeladen werden könnte.
Ich glaube weiterhin, dass das Problem an der falschen open_basedir-Einstellung liegt. Richtig wäre:
open_basedir: c:\temp\;d:\web\
Gruß, Philipp
Verfasst: 01.10.2003 11:05
von andreasOymann
Thx, Philipp,
habe dein Posting mal an meinen Provider weitergeleitet, melde mich, wenn ich ne Antwort habe.
A.