Heim  >  Artikel  >  Backend-Entwicklung  >  So lösen Sie das Problem unzureichender Berechtigungen in PHP Fopen

So lösen Sie das Problem unzureichender Berechtigungen in PHP Fopen

藏色散人
藏色散人Original
2021-10-28 09:12:103738Durchsuche

Lösung für unzureichende PHP-Fopen-Berechtigungen: 1. Öffnen Sie das Terminal-Befehlsfenster. 2. Führen Sie den Befehl „sudo chmod 666 testOpen.php“ im Terminal aus.

So lösen Sie das Problem unzureichender Berechtigungen in PHP Fopen

Die Betriebsumgebung dieses Artikels: Linux5.9.8-System, PHP-Version 7.1, DELL G3-Computer

PHP verwendet die Funktion fopen(), um eine Datei zu öffnen, und meldet unzureichende Berechtigungen

PHP fopen( )-Funktion

Funktionsdefinition und Verwendung: Die Funktion fopen() öffnet eine Datei oder URL.
Syntax:

fopen(filename, mode, include_path, context)

Die letzten beiden Parameter sind optional, wir haben nur die ersten beiden Parameter verwendet, der Code lautet wie folgt:

<?php
//打开文件流
$myfile = fopen("newfile.txt", "w")        
or die("Unable to open file!");
//向文件中写入字符串
fwrite($myfile, "Hello World");
//关闭文件句柄
fclose($myfile);
?>

Die durch den Code implementierten Funktionen sind : Öffnen Sie eine Datei mit dem Namen newfile.txt im aktuellen Pfad im Schreibmodus. Wenn die Datei nicht vorhanden ist, versuchen Sie, sie zu erstellen. Schreiben Sie nach dem Öffnen der Datei die Zeichenfolge „Hello World“ in die Datei und schließen Sie die Datei schließlich.

Es gibt keine newfile.txt-Datei im aktuellen Ordnerpfad. Beim Ausführen des obigen Codes tritt der folgende Fehler auf:

Warnung: fopen(newfile.txt): Fehler beim Öffnen des Streams: Unzureichende Berechtigungen in
/home/. yums/web/ blog_for_r&d/scripts/testOpen.php in Zeile 3
Datei kann nicht geöffnet werden!

Unzureichende Berechtigungen? Das häufigste Problem unter Linux ist, dass Sie keine Berechtigung haben, Dateien auf der Festplatte zu erstellen? Ich habe versucht, testOpen.php höhere Berechtigungen zu erteilen, also habe ich den folgenden Befehl im Terminal ausgeführt:

sudo chmod 666 testOpen.php

Auf diese Weise hat die PHP-Datei die Berechtigung, Dateien zu erstellen, WTF, immer noch Problem!

Warnung: fopen(newfile.txt): Stream konnte nicht geöffnet werden: Unzureichende Berechtigungen in
/home/yums/web/blog_for_r&d/scripts/testOpen.php in Zeile 3
Datei kann nicht geöffnet werden!

Vergiss es, Ich verwende diese Funktion nicht mehr zum Erstellen von Dateien. Ich verwende gedit, um die Datei newfile.txt selbst zu erstellen. Also habe ich den folgenden Befehl im Terminal ausgeführt:

rrree

Auf diese Weise habe ich eine Datei erstellt und aktualisiert. Allerdings sollten die Berechtigungen noch nicht ausreichen. Führen Sie den folgenden Befehl aus im Terminal. :

gedit newfile.txt

Ich habe festgestellt, dass die mit Notepad erstellte Datei newfile.txt nur Leseberechtigung und keine Schreibberechtigung hat. Nun, hier ist das Problem. Erhöhen Sie die Schreibberechtigung für die Datei newfile.txt:

ls -all

Jetzt aktualisieren Es wird kein Fehler gemeldet und die entsprechende Zeichenfolge wird in die Datei geschrieben.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem unzureichender Berechtigungen in PHP Fopen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn