Warning: fopen(fopentest.txt): failed to open stream: Permission denied in /home/www/web2/html/fopen_test.php on line 5
FOPEN FAILED: fopentest.txt | w
Was mach ich falsch, oder hab ich vergessen? Wie ich mich kenne wieder irgendwas ganz blödes
Fehlermeldungen sind da, um gelesen zu werden:
Permission denied sagt doch eigentlich schon alles: Der Nutzer, welcher das Skript ausführt (wahrscheinlich der Apache-User, wenn mod_php, ansonsten der Besitzer des Skripts) hat keine Rechte, um in diese Datei zu schreiben.
Nun, soweit war ich auch schon, aber wie ändere ich dass so, dass fopen allgemein genutzt wrden kann, ohne das ich jedesmal die Rechte neu setzen müsste?
Was heißt "jedes mal"? Wenn die Dateien unterschiedliche Nutzer haben und damit auch bestimmte Zugriffsrechte brauchen, dann wirst du wohl nicht um chmod oder eine "schönere" Möglichkeit (php-cgi) herumkommen.
Wenn PHP als Modul läuft (und ich nehme das hier mal an), laufen die Scripte unter dem User und der Group des Webservers. Entweder passt du die Rechte dementsprechend an oder du solltest mal über einen Wechsel zu PHP per CGI bzw. suPHP nachdenken. Die Dateirechte würde ich lieber nicht auf 777 lassen..
Au Mann, Problem gefunden und wie ich vermutet hatte, war es etwas völlig blödes: Das Verzeichnis, in dem die Datei erstellt werden soll, hatte keine Schreibrechte...
So, nu mach ich meinem Username mal wieder alle Ehre!
CGI-PHP nur für die User-Vhosts aber nicht für Confixx
Confixx etwas umbauen damit es CGI akzeptiert
.php als Modul, .php4 als CGI ausführen und bei Rechteproblemen .php4 verwenden.
Wie's geht verrät die Forumssuche, da sind Lösungen für alle drei Wege.
666 reicht aus, um CGI-Skripte an der Ausführung zu hindern, ohne die Sicherheit zu verbessern, ja..
Ein Verzeichnis ist zusätzlich ohne Ausführrechte sinnfrei, sorry ;)