Page 1 of 1

PHP Upload funktioniert nicht

Posted: 2008-04-21 16:41
by dok
Hallo zusammen,

Vorweg: mit Safe_mode=off funktioniert es natürlich.

in meiner globalen und lokalen php.ini (apache2 und php5) habe ich folgende Eintragungen:
open_basedir /srv/www/vhosts/xxxxx/httpdocs:/tmp
upload_max_filesize 10M
upload_tmp_dir /tmp
max_execution_time, max_input_time, memory_limit und post_max_size habe ich hochgesetzt.
if ( !move_uploaded_file($userfile,$destination) ){
die ("Fehler beim Kopieren $userfile_name von $userfile in Zielverzeichnis $destination");
}
funktioniert nicht, es erscheint die entsprechende Fehlermeldung.
Fehler beim Kopieren DSC00062.JPG von /tmp/php6CUs4d in Zielverzeichnis /srv/www/vhosts/xxxx/httpdocs/yyyy/zzzz/7733_DSC00062.JPG
Fehlercode habe ich geprüft, leider erfolglos,
Eine anschließende Ausgabe von $_FILES['userfile']['error'] liefert 0
Beim Upload habe ich mal im /tmp Verzeichnis mit "gespickt"
-rw------- 1 wwwrun www 762731 Apr 21 16:01 phpMfUlGK
zeigt, daß die Datei zunächst entgegengenommen wird.

/tmp und Zielverzeichnis, sowie ausführende Dateien haben Schreibrechte.

Jemand eine Idee was ich übersehen haben könnte?

:-k

Re: PHP Upload funktioniert nicht

Posted: 2008-04-21 17:48
by terx`
Was ist denn $destination?

Re: PHP Upload funktioniert nicht

Posted: 2008-04-21 18:16
by dok
Fehler beim Kopieren DSC00062.JPG von /tmp/php6CUs4d in Zielverzeichnis /srv/www/vhosts/xxxx/httpdocs/yyyy/zzzz/7733_DSC00062.JPG

Re: PHP Upload funktioniert nicht

Posted: 2008-04-21 18:47
by Roger Wilco
http://de2.php.net/move_uploaded_file wrote:Hinweis: Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.
Hast du das überprüft? Hat der Webserver alle nötigen Rechte, um in /srv/www/vhosts/xxxx/httpdocs/yyyy/zzzz/ zu schreiben? Außerdem solltest du die Rückgabewerte gemäß http://www.php.net/manual/en/features.f ... errors.php auswerten.

Re: PHP Upload funktioniert nicht

Posted: 2008-04-21 20:46
by dok
Fehlercode habe ich geprüft, leider erfolglos,
Eine anschließende Ausgabe von $_FILES['userfile']['error'] liefert 0
Hinweis: Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst
wenn ich das richtig verstehe, führt der apache2 das upload-script automatisch mit dem user wwwrun:www aus. Erstellt und Eigentümer (derzeit mit 777) ist allerdings root:root. Ist das ein Problem?
Die unter /tmp erstellte Datei gehört ja wie oben ersichtlich wwwrun:www. (und die kam an trotz safe mode = on)

Besteht ggfs. die Möglichkeit, das unter dem Vhost ein weiteres tmp Vereichnis benutzt wird, über das in einem Zwischenschritt kopiert bzw. nicht kopiert wird?

Re: PHP Upload funktioniert nicht

Posted: 2008-04-24 17:55
by dok
jemand eine Idee die mich weitebringen könnte?

Re: PHP Upload funktioniert nicht

Posted: 2008-04-24 18:16
by Joe User
PHP-FCGI mit individuellen User/Group statt mod_php verwenden...