Wiem, że jest to typowy błąd z wieloma wątkami, ale jestem zmęczony poszukiwaniem i nadal go nie rozwiązałem. Gdy próbuję uruchomić funkcję file_put_contents pojawia się następujący błąd:Nie można otworzyć strumienia w file_put_contents w PHP na CentOS 7
Warning: file_put_contents(test.txt): failed to open stream: Permission denied in /var/www/html/nurses/adminWriter.php on line 29
już robiłem najczęściej odpowiedź, zmienić uprawnienia do pielęgniarek folderu oraz test.txt plik do 777. To nie zadziałało.
Obecnie jestem na świeżej instalacji najnowszego serwera CentOS 7.
Znalazłem, że jeśli uruchomić skrypt php w konsoli:
# php /var/www/html/nurses/adminWriter.php
To działa dobrze, pojawia się błąd podczas uruchamiania go tylko za pośrednictwem przeglądarki, ale naprawdę trzeba go uruchomić tą drogą.
Pozdrawiamy!
Po uruchomieniu skryptu php za pomocą apache, działa on jako (bez względu na użytkownika), często "apache". Kiedy uruchamiasz skrypt php za pomocą konsoli, uruchamiasz go jako cokolwiek jesteś zalogowany jako. Upewnij się, że użytkownik "apache" (lub cokolwiek) ma dostęp do tego pliku (który zawiera katalogi nadrzędne). Możesz też spróbować użyć bezwzględnej ścieżki do pliku test.txt - możesz próbować pisać gdzieś, czego się nie spodziewasz. – jedwards
Pominąłeś cytat według celu? Spróbuj tego: 'file_put_contents (__ DIR__. '/test.txt');' – alfallouji
Masz na myśli coś takiego: # chown -R apache: apache/var/www/html/nurses/ – danielnovais92