SAFE MODE --- unlink() nicht möglich
swiss cow
- php
Guten Morgen allerseits!
Hab da ein Problem mit dem Löschen von Dateien per unlink().
Meldung:
Warning: unlink(): SAFE MODE Restriction in effect. The script whose uid is 1938 is not allowed to access / owned by uid 0 in /home/www/....
Hab bereits nach Lösungen gesucht aber finde nichts, dass mir weiterhilft.
Falls es aber daran(http://www.phpforum.de/archiv_42552_unlink@und@der@bse@safe@mode_anzeigen.html) liegen sollte, muss ich mich an den Provider wenden.
Kann mir das jemand bestätigen oder hat - noch besser - jemand ne andere Lösung?
--- so nebenbei, wär ich dankbar für die erklärung wie ich hier html verwenden kann (z.B. für den angegebenen Link). DANKE! ---
Hallo,
bitteschön!
Gruß,
Klappi
Hellihello swiss cow,
Hab da ein Problem mit dem Löschen von Dateien per unlink().
Meldung:
Warning: unlink(): SAFE MODE Restriction in effect. The script whose uid is 1938 is not allowed to access / owned by uid 0 in /home/www/....
ja, kannste nicht drauf zugreifen, weil du die rechte nicht hast.
Falls es aber daran(http://www.phpforum.de/archiv_42552_unlink@und@der@bse@safe@mode_anzeigen.html) liegen sollte, muss ich mich an den Provider wenden.
jap, aber was willst du den unlinken und in welchem verzeichnis? kommst du da auch via ftp ran. wie sind die rechte für den ordner gesetzt? "Unlinken" mit php solltest du trotz safe-mode eigentlich können, shell_exec geht nicht.
--- so nebenbei, wär ich dankbar für die erklärung wie ich hier html verwenden kann (z.B. für den angegebenen Link). DANKE! ---
Geh mal auf antworten und schau Dir in meiner Antwort an, wie das mit dem Link geht - eckige klammer auf, "link:" dann dir url dann eckige klammer zu.
Gruß,
frankx
Ja hallöle frankx,
##################################################################
Warning: unlink(): SAFE MODE Restriction in effect. The script whose uid is 1938 is not allowed to access / owned by uid 0 in /home/www/....
##################################################################
ja, kannste nicht drauf zugreifen, weil du die rechte nicht hast.
--> chmod ist 777
jap, aber was willst du den unlinken und in welchem verzeichnis?
das Verzeichnis ist url.ch/neu/pw/files
bringt dir das was?
kommst du da auch via ftp ran.
theoretisch schon.
Aber wie ich gestern gelesen hab hat der ftp dann wieder ne andere UID. und dann kommts wieder gleich. (NICHT AUSPROBIERT!)
shell_exec geht nicht.
was'n das? :)
"link:" dann dir url dann eckige klammer zu.
danke!
Greez
swiss cow
Hellihello Schweizerkuh,
das Verzeichnis ist url.ch/neu/pw/files
bringt dir das was?
na ich dachte, wenns außerhalb der Documentroot gelegen hätte...; wenn aber die Rechte auf 777 stehen, solltest Du eigentlich auch löschen können, oder? und das verzeichnis darüber? vielleicht hat das die falschen rechte? was ist, wenn du mit einem Script eine Datei erstellst und Sie dannach dann löschst?
shell_exec geht nicht.
was'n das? :)
eine PHP-Funktion zum Ausführen von shell-commandos. Das wird beim Safe_Mode untersagt u.a....;
"link:" dann dir url dann eckige klammer zu.
danke!
ich dachte das heißt "merci-vielmals" ?
Grüezi,
frankx
Hello,
na ich dachte, wenns außerhalb der Documentroot gelegen hätte...; wenn aber die Rechte auf 777 stehen, solltest Du eigentlich auch löschen können, oder?
Nein, das wird vom PHP durch den Safe-Mode verhindert. Die Dateirechte für "normalen Zugriff" müssen sowieso stimmen, aber PHP prüft dann auch noch, ob die UIDs übereinstimmen (siehe https://forum.selfhtml.org/?t=161223&m=1048796 )
und das verzeichnis darüber? vielleicht hat das die falschen rechte? was ist, wenn du mit einem Script eine Datei erstellst und Sie danach dann löschst?
Das funktioniert auch nur, wenn das Script auch dem Webserver-User gehört.
Also schenke es ihm mittels copy()-Befehl.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hello,
Warning: unlink(): SAFE MODE Restriction in effect. The script whose uid is 1938 is not allowed to access / owned by uid 0 in /home/www/....
Der Safe-Mode (UID) verlangt, dass die Datei, die Du ändern/löschen willst demselben Owner gehört, wie das Script, mit dem Du das machen willst, oder dass sie in einem Verzeichnis liegt, dass demselben Owner gehört, wie die Datei.
Um den Schaden nicht zu vergrößern, sag erstmal
Zwei Tricks, die meistens helfen:
1. Lade das Script mittels GESCHÜTZTEM Upload-Script
(also per HTTP-Fileupload-Formular) auf Deinen Server hoch
2. Kopiere das Script auf dem Server mittels eines GESCHÜTZTEN Scriptes einmal.
Soweit ich mich erinnere geht das sogar unter demselben Namen.
Sinn der Aktion ist, dass die Scripte dadurch in das Eigentum des WWW-DATA oder WWWRUN oder APACHE oder wie der User auch immer heißen mag, unter dem der Webserver läuft, übergehen.
Wenn es sich bei der zu löschenden Datei um eine handelt, die Du mit einem Script angelegt hast, also NICHT mit FTP hochgeladen hast, dann hat diese Vorgehensweise Erfolg.
http://selfhtml.bitworks.de/Safe_Mode.doc (ist ein Word97-Dokument. Lädt also eine Weile)
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hello,
Warning: unlink(): SAFE MODE Restriction in effect. The script whose uid is 1938 is not allowed to access / owned by uid 0 in /home/www/....
Ich sehe aber gerade, dass die Datei, die Du löschen willst, augenscheinlich root gehört.
Da wirst Du ohnehin keinen Erfolg haben. Oder läuft Dein Apache etwa unter dem User root?
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom