Fehlermeldung bei Datei-Upload

Hallo und guten Tag!

Obwohl das Hochladen einer Datei funktioniert, bekomme ich immer diese Fehlermeldung:

Warning: putenv(): Safe Mode warning: Cannot set environment variable ‚upload_tmp_dir‘ - it’s not in the allowed list in
/mnt/jd2/01/954/00000000/htdocs/supervisor/aktuell/upload.php on line 58

Dort steht:

$tempDir = „…//upldir“;
putenv („upload_tmp_dir=$tempDir“);

Die Verzeichnisstruktur:

extdata
root
…aktuell
…upldir

Das Verzeichnis „aktuell“ ist mit htaccess geschützt:

AuthType Basic
AuthName „Aktuelles“
AuthUserFile …/www/su/www.meine-domain.de/htdocs/extdata/.htpasswd
require user Supervisor

Ich hatte bislang noch bei keinem Upload (auf anderen Servern; gleiches Coding und gleiche Verzeichnisstruktur) dieses Problem. Was bedeutet diese Fehlermeldung genau und wie kann ich sie abstellen??? Oder erlaubt mir der Provider nicht, diese Variable zu überschreiben wobei in der PHP.ini hier kein Wert eingetragen ist.

Vielen Dank für euere Hilfe!

Gruß, Robi

Hallo und guten Tag!

Obwohl das Hochladen einer Datei funktioniert, bekomme ich
immer diese Fehlermeldung:

Warning: putenv(): Safe Mode warning: Cannot set environment
variable ‚upload_tmp_dir‘ - it’s not in the allowed list in
/mnt/jd2/01/954/00000000/htdocs/supervisor/aktuell/upload.php
on line 58

das heisst, der server ist so konfiguriert, dass du das nciht euberschrieben darfst.

Dort steht:

$tempDir = „…//upldir“;
putenv („upload_tmp_dir=$tempDir“);

was du aber versuchst. noch dazu mit einem relativen pfad …
warum eigentlich? in dem moment, wo das script fuer den upload aufgerufen sit hat der webserver die datei eh schon in upload_tmp_dir geschrieben und du musst sie nur noch da rausholen…

Das Verzeichnis „aktuell“ ist mit htaccess geschützt:

das ist fuer den uplaod irrelevant

Oder erlaubt mir der Provider nicht,
diese Variable zu überschreiben wobei in der PHP.ini hier kein
Wert eingetragen ist.

du darfst deine php.ini selber schreiben? war da vielleicht noch etwas mit einer globalen und per_user php.ini?

Hallo Robi

Obwohl das Hochladen einer Datei funktioniert, bekomme ich
immer diese Fehlermeldung:

Warning: putenv(): Safe Mode warning: Cannot set environment
variable ‚upload_tmp_dir‘ - it’s not in the allowed list in
/mnt/jd2/01/954/00000000/htdocs/supervisor/aktuell/upload.php
on line 58

Kannst du mal eine php Datei mit

<?php phpinfo() ?> ausführen und das Ergebnis hier posten. Das würde die Sache stark vereinfachen.

Eine Idee schon vorweg. Ist vielleicht der safe_mode aktiviert?! (in der php.ini ein Wert „save_mode=1“ bzw „on“). Denn da tritt dieser Fehler mit angrenzender Sicherheit auf.

$tempDir = „…//upldir“;
putenv („upload_tmp_dir=$tempDir“);

wieso …// statt …/ ? (das nur nebenbei)

Grüße, traelon

Danke!
Problem gelöst!

Ganz kurz:
der Safe-Mode IST an

Da in der php.ini für „upload_tmp_dir“ kein Wert angegeben ist, dachte ich, den mit putenv setzen zu müssen (was ja z.B. bei 1&1 auch funktioniert - aber da ist ja auch safe-mode:off gesetzt). Wußte noch nicht, dass das auch so funktioniert, aber man lernt ja nie aus…

Warum …// statt …/ ??? Hm, warum??? *grübel grübel* Ja, warum eigentlich??? Keine Ahnung, was ich mir da wieder gedacht habe…

Also nochmal: Danke!

Grüße aus Elbflorenz

Robi