La solution à l'échec de la fonction php fopen : ajoutez d'abord un rapport d'erreur PHP via "set_error_handler("customError");" puis modifiez les restrictions d'accès de PHP au répertoire dans le fichier de configuration php php. .ini.
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
PHP fopen échoue et revient false
J'ai rencontré un problème le 14 décembre. J'ai juste pris le temps de l'enregistrer aujourd'hui, j'espère que cela sera utile à d'autres amis qui rencontrent ce problème.
$fH = fopen("/tmp/test.log",'a');
Dans la ligne de code ci-dessus, fopen renvoie en fait false. Il ne s'agit ni d'un problème lié aux autorisations de répertoire ou de fichier, ni d'un problème de chemin de fichier (chemin relatif, chemin absolu), etc., ni d'un problème lié aux autorisations de fichier. problème avec le mode d'ouverture du fichier (r,w,a etc.). Après avoir cherché en ligne pendant un certain temps, j'ai découvert que la raison du retour de false était simplement l'une des trois situations ci-dessus, je n'ai donc pas trouvé de réponse.
J'ai donc ajouté un rapport d'erreur PHP :
//error handler function function customError($errno, $errstr){ echo "<b>Error:</b> [$errno] $errstr"; } //set error handler set_error_handler("customError");
J'ai trouvé la raison immédiatement :
Il s'avère que j'ai fait le répertoire d'accès PHP dans le fichier de configuration php php. Restrictions ini :
open_basedir= .
[Apprentissage recommandé : Tutoriel vidéo PHP]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!