PHP Upload funktioniert nicht

Bash, Shell, PHP, Python, Perl, CGI
dok
Posts: 4
Joined: 2008-04-21 16:21

PHP Upload funktioniert nicht

Post by dok » 2008-04-21 16:41

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
Last edited by dok on 2008-04-21 20:47, edited 2 times in total.

terx`
Posts: 23
Joined: 2008-04-10 18:58
Location: Südoldenburger Land

Re: PHP Upload funktioniert nicht

Post by terx` » 2008-04-21 17:48

Was ist denn $destination?

dok
Posts: 4
Joined: 2008-04-21 16:21

Re: PHP Upload funktioniert nicht

Post by dok » 2008-04-21 18:16

Fehler beim Kopieren DSC00062.JPG von /tmp/php6CUs4d in Zielverzeichnis /srv/www/vhosts/xxxx/httpdocs/yyyy/zzzz/7733_DSC00062.JPG

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: PHP Upload funktioniert nicht

Post by Roger Wilco » 2008-04-21 18:47

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.

dok
Posts: 4
Joined: 2008-04-21 16:21

Re: PHP Upload funktioniert nicht

Post by dok » 2008-04-21 20:46

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?

dok
Posts: 4
Joined: 2008-04-21 16:21

Re: PHP Upload funktioniert nicht

Post by dok » 2008-04-24 17:55

jemand eine Idee die mich weitebringen könnte?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: PHP Upload funktioniert nicht

Post by Joe User » 2008-04-24 18:16

PHP-FCGI mit individuellen User/Group statt mod_php verwenden...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.