Błąd "[function.fopen]: failed to create stream: Permission denied"
Riddle
Przykład błędu
Warning: fopen(c:/www/includes/configure.php) [function.fopen]: failed to create stream: Permission denied in c:/www/includes/install/template.php on line 114
Wyjaśnienie
Atrbuty pliku w systemie plików, wskazują na to, że skrypt PHP nie powinien mieć dostępu do pliku. Może to oznaczać albo błąd w skrypcie PHP, który próbuje czytać pliki których nie powinien (pliki systemowe, pliki innego użytkownika, pliki chronione przed zapisem), albo może oznaczać że plik do którego skrypt powinien mieć dostęp nie ma nadanych odpowiednich uprawnień.
Zmiana atrybutów na lokalnej maszynie
Do zmiany uprawnień służą polcenia chown
oraz chmod
. Instrukcje nt chown
/chmod
: https://www.computerhope.com/unix/uchmod.htm
Żeby ustawić uprawnienia do odczytu i zapisu (odczyt - 4
, zapis - 2
) ustawmy wartość 6
. Ustawmy wartość 6
dla użykownika, grupy i dla wszystkich: 666
.
chmod 666 file.txt
Zmiana atrybutów na zdalnym serverze
Narzędzia, których można użyć do zmiany atybutów na zdalnym serverze:
- Total Commander (średnio-zaawansowane)
- FileZilla (średnio-zaawansowane)
- SSH (zaawansowane)