Heim  >  Artikel  >  Backend-Entwicklung  >  Was tun, wenn die PHP-Fopen-Funktion fehlschlägt?

Was tun, wenn die PHP-Fopen-Funktion fehlschlägt?

藏色散人
藏色散人Original
2021-03-29 10:02:162940Durchsuche

Die Lösung für den Fehler der PHP-Fopen-Funktion: Fügen Sie zunächst einen PHP-Fehlerbericht über „set_error_handler(„customError“);“ hinzu und ändern Sie dann die Einschränkungen für den PHP-Zugriff auf das Verzeichnis in der PHP-Konfigurationsdatei php.ini.

Was tun, wenn die PHP-Fopen-Funktion fehlschlägt?

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

PHP fopen ist fehlgeschlagen und hat false zurückgegeben

Ich bin am 14. Dezember auf ein Problem gestoßen. Ich habe mir einfach etwas Zeit genommen Nehmen Sie es heute auf. Ich hoffe, es wird anderen Freunden helfen, die auf dieses Problem stoßen.

$fH = fopen("/tmp/test.log",'a');

In der obigen Codezeile gibt fopen tatsächlich „false“ zurück. Es handelt sich weder um ein Verzeichnis- oder Dateiberechtigungsproblem noch um ein Dateipfadproblem (relativer Pfad, absoluter Pfad) usw., noch handelt es sich um ein Problem mit dem Modus des Öffnens der Datei (r, w, a usw.) . Nachdem ich eine Weile online gesucht hatte, stellte ich fest, dass der Grund für die Rückgabe von „false“ einfach eine der drei oben genannten Situationen ist, sodass ich die Antwort nicht finden konnte.

Also habe ich einen PHP-Fehlerbericht hinzugefügt:

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

Ich habe den Grund sofort gefunden:

Es stellte sich heraus, dass ich den PHP-Zugriff auf das Verzeichnis in der PHP-Konfigurationsdatei php.ini eingeschränkt hatte:

open_basedir= .

[Empfohlenes Lernen : PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas tun, wenn die PHP-Fopen-Funktion fehlschlägt?. 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