2017-08-15 4 views
1

ich Hilfe brauche diesen Fehler zu beheben:Laravel local: fopen Zugriff verweigert

fopen(/Subckt.txt): failed to open stream: Permission denied

  • Ich verwende Laravel
  • ich auf der Website arbeiten lokal durch die cmd mit dem php Handwerker dienen command
  • Ich habe eine mögliche Lösung mit chmod gefunden, aber da ich Localhost verwende ich glaube nicht, dass es funktioniert
  • Die Website läuft ein PHP-Code, um Änderungen an einer TXT-Datei zu tun. Dann speichere ich es in eine andere Datei. Im Stammordner.
  • Der gesamte Website-Ordner wird nur als gelesen angegeben, ich kann das nicht ändern. (Ich benutze Windows 7, wenn ich das Kästchen deaktiviere, wird es immer wieder überprüft. Aber ich habe es geschafft, das nur aus den Textdateien (Subckt.txt und \ npn.lib) zu entfernen.
  • Ich habe meinen Code ohne Laravel in a . pHP und hTML-Datei und es funktioniert

Hier ist mein Teil-Code:..

// Load the output file 
$outputFile = fopen("\Subckt.txt", "w") or die("Unable to open file!"); 

// Load the input file into string 
$inputFile = "\npn.lib"; 

// Put the input file in a string variable 
$inputFileContent = file_get_contents($inputFile); 
+1

Überprüfen Sie Ihren 'Basispfad'. Die 'fopen'-Funktion scheint zu versuchen, die Datei aus dem Root des Dateisystems zu laden, was sicherlich einen Lizenzkonflikt haben wird. – Ohgodwhy

+0

In: $ inputFile = "\ npn.lib"; Das \ n wird als neue Zeile betrachtet ... – Mark

+0

$ inputFileContent = file_get_contents ("C: \ Benutzer \ Benutzername \ Desktop \ model \\ testnpn.lib"); anstelle von 2 Zeilen – Mark

Antwort

0

Haben Sie Schreibrechte auf die Datei für den Benutzer ausgeführt wird das PHP-Skript haben? Wer ist der Eigentümer der Datei, die Sie versuchen, fopen? Vielleicht ist es der www-data-Benutzer, der versucht, das php-Skript auszuführen, das versucht, die Datei zu öffnen, aber wenn die Datei nicht der www-data-Gruppe gehört oder keine globalen Schreibrechte hat, wird dies mit den Berechtigungen von php kollidieren. Wenn Sie Linux verwenden, versuchen Sie es mit chown -R www-data:www-data /path/to/the/project/folder. Wenn die Methode chown nicht funktioniert, versuchen Sie es mit chmod -R 775 /path/to/the/file. Unter Windows habe ich keine Ahnung ... Ich hoffe, ich könnte einigen helfen.

Verwandte Themen