touch() Fehler
Radix
- php
Hallo,
ich möchte mit touch() die zeitlichen Änderungen einer Datei setzten.
Unter Windows (XAMPP) funktioniert das prima - nur im WWW kriege ich folgenden Fehler
Warning: touch(): Utime failed: Operation not permitted
Die Zugriffsrechte für die dateien stehen alle bei 777 ... was muss ich tun, damit das funktioniert?
Danke für Eure Hilfe,
Radix
Unter Windows (XAMPP) funktioniert das prima - nur im WWW kriege ich folgenden Fehler
Was bezeichnest Du als WWW???
Einen Server im Rechenzentrum???
Welcher Provider???
Warning: touch(): Utime failed: Operation not permitted
Vielleicht hilft Dir ein Eintrag von "http://de2.php.net/manual/de/function.touch.php":
07-Oct-2001 12:41
To spare you ppl couple of hours of valuable time, you can only TOUCH a file that you own! Usually PHP is *nobody*
Warm regards, Emile Bosch
Also selbst wenn die Datei 0777 als Berechtigung hat (was meiner Meinung nach sinnlos ist, weil Ausführen wirst Du sie nicht wollen und dann reicht auch 0666) und PHP nicht Eigentümer ist, hilft Dir das nichts. Prüfe das mal mit dem PHP Kommando:
<? system("whoami", $out, $lines); echo $lines[0]; ?>
Ansonsten stelle die File auf 4666 und versuche es nochmal.
Grüße Bechte
Hi,
Einen Server im Rechenzentrum???
Ja
07-Oct-2001 12:41
To spare you ppl couple of hours of valuable time, you can only TOUCH a file that you own! Usually PHP is *nobody*
Warm regards, Emile Bosch
Den Eintrag kenne ich ...
<? system("whoami", $out, $lines); echo $lines[0]; ?>
Dies liefert einen Fehler: Warning: Wrong parameter count for system()
Ansonsten stelle die File auf 4666 und versuche es nochmal.
Klappt auch nicht ...
Das muss doch was mit utime zu tun haben ... verstehe ich nicht.
Gibt es ein andere Möglichkiet ausser touch das datum der Datei zu ändern?
Danke, Radix
<? system("whoami", $out, $lines); echo $lines[0]; ?>
Dies liefert einen Fehler: Warning: Wrong parameter count for system()
Sorry, nimm statt "system" einfach "exec".
Bei mir gehts prima, aber auf meinem Server wird PHP auch immer mit dem Username des Eigners ausgeführt. Vermute bei Dir da eine Abweichung.
Gruss Bechte
Hi,
Sorry, nimm statt "system" einfach "exec".
Ok ...
Bei mir gehts prima, aber auf meinem Server wird PHP auch immer mit dem Username des Eigners ausgeführt. Vermute bei Dir da eine Abweichung.
Mit exec wird garnicht ausgegeben ... was kann ich jetzt machen?
RAdix
Moin Radix,
Mit exec wird garnicht ausgegeben ... was kann ich jetzt machen?
wenn ich richtig liege, dann ist es so, das exec, system und wahrscheinlich auch utime zu den Systembefehlen gehören. Es muss dir oder dem PHP user erlaubt sein diese auszuführen. Im IIS kann ich das einstellen, ob executables ausführbar sind. Forsche mal in diese Richtung.
regds
Mike©
Moin Bechte,
Also selbst wenn die Datei 0777 als Berechtigung hat (was meiner Meinung nach sinnlos ist, weil Ausführen wirst Du sie nicht wollen und dann reicht auch 0666) und PHP nicht Eigentümer ist, hilft Dir das nichts. Prüfe das mal mit dem PHP Kommando:
ich stimme dir zu, das 777 übertrieben ist. Allerding wäre bei 666 jeder berechtigt den touch auszuführen, auch wenn er nicht Owner ist. Ich glaube es liegt an der Ausführberechtigung des touch().
regds
Mike©