Maison >développement back-end >Problème PHP >Comment résoudre le problème des autorisations insuffisantes dans php fopen

Comment résoudre le problème des autorisations insuffisantes dans php fopen

藏色散人
藏色散人original
2021-10-28 09:12:103768parcourir

Solution aux autorisations php fopen insuffisantes : 1. Ouvrez la fenêtre de commande du terminal 2. Exécutez la commande "sudo chmod 666 testOpen.php" dans le terminal.

Comment résoudre le problème des autorisations insuffisantes dans php fopen

L'environnement d'exploitation de cet article : système linux5.9.8, PHP version 7.1, ordinateur DELL G3

PHP utilise la fonction fopen() pour ouvrir un fichier et demande des autorisations insuffisantes

PHP fopen( ) fonction

Définition et utilisation de la fonction : la fonction fopen() ouvre un fichier ou une URL.
Syntaxe :

fopen(filename, mode, include_path, context)

Les deux derniers paramètres sont facultatifs, nous n'avons utilisé que les deux premiers paramètres, le code est le suivant :

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

Les fonctions implémentées par le code sont : Ouvrez un fichier nommé newfile.txt dans le chemin actuel en mode écriture. Si le fichier n'existe pas, essayez de le créer. Après avoir ouvert le fichier, écrivez la chaîne Hello World dans le fichier et fermez enfin le fichier.

Il n'y a pas de fichier newfile.txt dans le chemin du dossier actuel Lors de l'exécution du code ci-dessus, l'erreur suivante se produit :

Avertissement : fopen(newfile.txt) : échec d'ouverture du flux : autorisations insuffisantes dans
/home/. yums/web/ blog_for_r&d/scripts/testOpen.php en ligne 3
Impossible d'ouvrir le fichier !

Autorisations insuffisantes ? Le problème le plus courant sous Linux est que vous n’avez pas l’autorisation de créer des fichiers sur le disque dur ? J'ai essayé de donner à testOpen.php des autorisations plus élevées, j'ai donc exécuté la commande suivante dans le terminal :

sudo chmod 666 testOpen.php

De cette façon, le fichier PHP a la permission de créer des fichiers. Je vais essayer de rafraîchir à nouveau la page, WTF, c'est toujours le cas. problème!

Attention : fopen(newfile.txt) : échec d'ouverture du flux : autorisations insuffisantes dans
/home/yums/web/blog_for_r&d/scripts/testOpen.php en ligne 3
Impossible d'ouvrir le fichier !

Oubliez ça, Je n'utilise plus cette fonction pour créer des fichiers. J'utilise gedit pour créer moi-même le fichier newfile.txt. J'ai donc exécuté la commande suivante dans le terminal :

gedit newfile.txt

De cette façon, j'ai créé un fichier et je l'ai actualisé. Cependant, les autorisations n'étaient toujours pas suffisantes. Je dois vérifier les autorisations dont dispose le fichier newfile.txt. dans le terminal. :

ls -all

J'ai trouvé que le newfile.txt créé avec le Bloc-notes n'a qu'une autorisation de lecture et aucune autorisation d'écriture. Eh bien, voici le problème. Augmentez l'autorisation d'écriture pour le fichier newfile.txt :

sudo chmod 666 newfile.txt

Actualisez maintenant. la page. Aucune erreur n’est signalée et la chaîne correspondante est écrite dans le fichier.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn