Maison > développement back-end > tutoriel php > **Pourquoi est-ce que j'obtiens une erreur « Autorisation refusée » lors de la création de répertoires avec la fonction `mkdir()` de PHP ?**

**Pourquoi est-ce que j'obtiens une erreur « Autorisation refusée » lors de la création de répertoires avec la fonction `mkdir()` de PHP ?**

Susan Sarandon
Libérer: 2024-10-25 17:56:03
original
1031 Les gens l'ont consulté

**Why am I Getting a

Erreur d'autorisation refusée lors de la création d'un répertoire avec la fonction PHP mkdir

Lors de la création d'un répertoire à l'aide de la fonction mkdir de PHP, vous pouvez rencontrer l'erreur suivante :

Warning: mkdir() [function.mkdir]: Permission denied in ....
Copier après la connexion

Cette erreur indique que l'utilisateur Apache ne possède pas les autorisations nécessaires pour créer le répertoire à l'emplacement spécifié.

Solution :

Au lieu de définir les autorisations sur 777, qui accordent un accès excessif à tous les utilisateurs, envisagez l'alternative suivante :

1. Définir la propriété et les autorisations :

  • Accorder la propriété de tous les fichiers au groupe et à l'utilisateur Apache (par exemple, www-data dans Ubuntu).

    <code class="console">sudo chown -R www-data:www-data /path/to/webserver/www</code>
    Copier après la connexion
  • Autoriser tous les membres du groupe Apache à lire et écrire des fichiers.

    <code class="console">sudo chmod -R g+rw /path/to/webserver/www</code>
    Copier après la connexion

2. Vérifier l'utilisateur et le groupe :

  • Vérifiez que l'utilisateur Apache fait partie du groupe www-data dans le système d'exploitation hôte.

    <code class="console">sudo usermod -aG www-data <username></code>
    Copier après la connexion

3. Redémarrer le serveur Web :

  • Redémarrez le serveur Web (par exemple, Apache2) pour appliquer les modifications.

    <code class="console">sudo service apache2 restart</code>
    Copier après la connexion

Exemple pour Ubuntu :

<code class="console">sudo chown -R www-data:www-data /var/www/html
sudo chmod -R g+rw /var/www/html
sudo service apache2 restart</code>
Copier après la connexion

Après avoir mis en œuvre ces étapes, la fonction mkdir() doit s'exécuter sans erreur d'autorisation refusée.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal