Dateirechte für Windows

Alles, was den Apache betrifft, kann hier besprochen werden.

Dateirechte für Windows

Postby flothi » 21. August 2006 12:46

Hi!

Ich hab ein Problem bei meinem Apache (2.0.55) unter WinXP SP2:
Anscheinend verhindert Windows den Zugriff aufs Dateisystem, obwohl ich für den Benutzer SYSTEM ("Besitzer" von apache) die entsprechenden Rechte auf das Verzeichnis gesetzt habe. V.a. die Funktion copy schlägt fehl.
Gibts da noch andere Lösungsvorschläge? Bis auf die Dateirechte ist mir nichts eingefallen.

Florian
flothi
 
Posts: 6
Joined: 21. August 2006 12:39

Postby Termatek » 21. August 2006 13:32

wie schlägt sie denn fehl?
wer hat noch alles zugriffsrechte auf den ordner und welche?

wurden die rechte auch auf die unterordner vererbt?
Termatek
 
Posts: 20
Joined: 21. August 2006 13:12

Postby flothi » 21. August 2006 14:08

Fehlschlagen tut sie so:
Code: Select all
[20-Aug-2006 20:26:18] PHP Warning:  copy(H:/localhost/home/contenido/contenido/external/frontend/images) [<a href='function.copy'>function.copy</a>]: failed to open stream: Permission denied in H:\localhost\home\contenido\contenido\includes\functions.general.php on line 459


Benutzer "Jeder" hat Vollzugriff (geerbt von H:\), 'SYSTEM' hat ebenfalls Vollzugriff (auf ./contenido), Vererbung auf alle Unterordner.

florian
flothi
 
Posts: 6
Joined: 21. August 2006 12:39

Postby Termatek » 21. August 2006 14:19

was steht denn in zeile 459 ?
Termatek
 
Posts: 20
Joined: 21. August 2006 13:12

Postby flothi » 21. August 2006 14:28

Naja, die Funktion, die den Fehler verursacht:
Code: Select all
copy($from_path.$myfile, $to_path.$myfile);


Es kann also nur an der Zugriffsberechtigung liegen, aber ich weiß beim besten Willen nicht, was man mehr als Vollzugriff geben könnte.

Florian
flothi
 
Posts: 6
Joined: 21. August 2006 12:39

Postby Termatek » 21. August 2006 14:51

Und die Pfadangaben die dort an die Funktion übergeben werden sind auch richgtig ?
Termatek
 
Posts: 20
Joined: 21. August 2006 13:12

Postby flothi » 21. August 2006 14:57

Jipp, die sind korrekt. Ich erhalte halt nur keinen Zugriff drauf. Vor einer Neuinstallation hats schonmal geklappt (auch mit dem Benutzer SYSTEM als Vollzugriff)

Florian
flothi
 
Posts: 6
Joined: 21. August 2006 12:39

Postby Wiedmann » 21. August 2006 16:06

die Funktion, die den Fehler verursacht:
Code: Select all
copy($from_path.$myfile, $to_path.$myfile);

Nur zwecks der Neugierde. Was wird denn genau ausgegeben, wenn du diese Zeile ersetzt durch:
Code: Select all
echo var_dump($from_path.$myfile);
echo var_dump($to_path.$myfile);
exit;
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby flothi » 21. August 2006 18:55

Code: Select all
cho var_dump($from_path.$myfile);
echo var_dump($to_path.$myfile);
exit;
liefert bei mir folgendes:
Code: Select all
string(71) "H:/localhost/home/contenido/contenido/external/frontend/cache/index.php" string(52) "H:/localhost/home/contenido/mandant2/cache/index.php"


Ob das jetzt gut oder schlecht ist vermag ich nicht zu beurteilen...

Florian
flothi
 
Posts: 6
Joined: 21. August 2006 12:39

Postby Wiedmann » 21. August 2006 19:52

string(71) "H:/localhost/home/contenido/contenido/external/frontend/cache/index.php"
string(52) "H:/localhost/home/contenido/mandant2/cache/index.php"

Dir ist aber klar, dass dieser Pfad nicht zu deiner Fehlermeldung passt?
flothi wrote:Warning: copy(H:/localhost/home/contenido/contenido/external/frontend/images) [<a href='function.copy'>function.copy</a>]: failed to open stream: Permission denied


Nach der ursprünglichen Fehlermeldung hast du vergessen den Dateinamen mit anzugeben.
--> copy() mag als Ziel nicht nur einen Verzeichnisnamen.

Bei dem was du jetzt gepostet hast gibt es 2 Ursachen:
a) Das Verzeichnis "H:/localhost/home/contenido/mandant2/cache" existiert nicht.
b) Die Datei "H:/localhost/home/contenido/mandant2/cache/index.php" ist "read-only" (Schreibgeschützt).
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby flothi » 22. August 2006 13:14

Hi!

Das ganze ist Teil eines rekursiven Kopiervorgangs.
Das Verzeichnis wird mit den Attributen 0777 erzeugt; Schreibschutz besteht auf keiner der Dateien (abgesehen von dem Schreibschutz, den man nicht entfernen kann).
Was das Skript macht:
Aus dem Verzeichnis "H:/localhost/home/contenido/contenido/external/frontend/cache/index.php"
das Unterverzeichnis "frontend" komplett nach "H:/localhost/home/contenido/mandant2/" zu verschieben.

florian
flothi
 
Posts: 6
Joined: 21. August 2006 12:39


Return to Apache

Who is online

Users browsing this forum: No registered users and 3 guests