Hallo zusammen,
eine Frage zu PHP4.3.9 (läuft auf einem Fecora Core 3 mit Apache) im Zusammenhang mit dem copy-Befehl:
Wenn ich folgendes versuche:
// upload handling
$tmpfile=$HTTP_POST_FILES['file']['tmp_name'];
$destfilename="/var/www/html/db/" . "script.sql";
copy($tmpfile, $destfilename);
bekomme ich in den Apache-Logs immer folgendes zu sehen:
PHP Warning: copy(/var/www/html/db/script.sql): failed to open stream: Permission denied in /var/www/html/db/submit.php on line 111, referer: http://localhost/db/submit.html
Was mich dabei sehr stutzig macht ist, dass das Directory /var/www/html/db world-writable ist; wie folgt:
drwxrwxrwx 2 apache apache 4096 Nov 16 19:44 .
(und auch der user apache sowie die Gruppe apache auch Schreibrechte haben, und dass auch das temporäre File in /tmp mit diesem Benutzer/Gruppe angelegt werden).
Mit dem o.a. code kann man problemlos in /tmp schreiben; und ich frage mich, wieso. /tmp ist auch world-writable:
76 drwxrwxrwt 22 root root 69632 Nov 16 20:24 /tmp
Selbst wenn ich (den einzigen Unterschied, das -t Flag setze in /var/www/html/db für others), dann kommt immer noch der Fehler.
Weiss jemand Rat?
Vielen Dank schon jetzt für eure Bemühungen!
eine Frage zu PHP4.3.9 (läuft auf einem Fecora Core 3 mit Apache) im Zusammenhang mit dem copy-Befehl:
Wenn ich folgendes versuche:
// upload handling
$tmpfile=$HTTP_POST_FILES['file']['tmp_name'];
$destfilename="/var/www/html/db/" . "script.sql";
copy($tmpfile, $destfilename);
bekomme ich in den Apache-Logs immer folgendes zu sehen:
PHP Warning: copy(/var/www/html/db/script.sql): failed to open stream: Permission denied in /var/www/html/db/submit.php on line 111, referer: http://localhost/db/submit.html
Was mich dabei sehr stutzig macht ist, dass das Directory /var/www/html/db world-writable ist; wie folgt:
drwxrwxrwx 2 apache apache 4096 Nov 16 19:44 .
(und auch der user apache sowie die Gruppe apache auch Schreibrechte haben, und dass auch das temporäre File in /tmp mit diesem Benutzer/Gruppe angelegt werden).
Mit dem o.a. code kann man problemlos in /tmp schreiben; und ich frage mich, wieso. /tmp ist auch world-writable:
76 drwxrwxrwt 22 root root 69632 Nov 16 20:24 /tmp
Selbst wenn ich (den einzigen Unterschied, das -t Flag setze in /var/www/html/db für others), dann kommt immer noch der Fehler.
Weiss jemand Rat?
Vielen Dank schon jetzt für eure Bemühungen!
Kommentar