Heim  >  Artikel  >  Backend-Entwicklung  >  Was tun, wenn PHP Fopen einen Fehler meldet?

Was tun, wenn PHP Fopen einen Fehler meldet?

藏色散人
藏色散人Original
2021-06-02 09:23:053220Durchsuche

Lösungen für PHP-Fopen-Fehler: 1. Ändern Sie die Verzeichnis- oder Ordnerberechtigungen. 2. Ändern Sie den Pfad zum Öffnen von Dateien. 3. Ändern Sie die Konfigurationsdatei php.ini.

Was tun, wenn PHP Fopen einen Fehler meldet?

Die Betriebsumgebung dieses Artikels: CentOS6.8-System, PHP-Version 7.2.2, DELL G3-Computer

Was soll ich tun, wenn die PHP-Fopen-Funktion false zurückgibt?

Verwenden Sie yum, um Apache2.4.6 PHP 7.2.2 zu installieren. Nach der korrekten Installation wird false zurückgegeben, wenn Sie die Funktion fopen() zum Öffnen der Datei verwenden. Baidu hat drei Gründe: Gründe für die Verzeichnis- oder Ordnerberechtigung. Sie können chmod -R 777 Stammverzeichnisordner mit den höchsten Berechtigungen verwenden.

2. Falscher Pfad zum Öffnen der Datei. 3. Falsche Öffnungsmethode (w, r, a) usw. Es wurde festgestellt, dass dies nicht der Fall ist der obige Fehler

PHP-Fehlerbericht manuell hinzufügen

Die von
//error handler function
function customError($errno, $errstr){ 
         echo "<b>Error:</b> [$errno] $errstr";
 }
//set error handler
set_error_handler("customError");

zurückgegebene Fehlermeldung lautet

failed to open stream: Permission denied

Beweis dafür, dass keine Berechtigung vorliegt

Wechseln Sie in den schreibgeschützten Modus und es kann normal geöffnet werden

Ich vermute, dass PHP eingeschränkte Berechtigungen hat

Durchsuchen Sie open_basedir in php.ini, um die Konfiguration anzuzeigen. Sie ist standardmäßig ebenfalls auskommentiert. Das heißt, es gibt keine Einschränkungen für Berechtigungen.

Schließlich habe ich auf verschiedenen Baidu-Websites gefunden, dass die Selinux-Berechtigungsverwaltung installiert ist Standardmäßig im Centos-System und standardmäßig aktiviert

Baidu hat sich Selinux angesehen und es scheint, dass die meisten Einführungen direkt geschlossen sind. Es scheint sehr mühsam zu sein, es zu konfigurieren. Dann schließen Sie es

vim /etc/selinux/conf

und ändern Sie es in

SELINUX= enforcing

. Starten Sie einfach den Server neu

Das obige ist der detaillierte Inhalt vonWas tun, wenn PHP Fopen einen Fehler meldet?. 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