Heim  >  Artikel  >  Backend-Entwicklung  >  **Warum erhalte ich beim Erstellen von Verzeichnissen mit der Funktion „mkdir()“ von PHP die Fehlermeldung „Berechtigung verweigert“?**

**Warum erhalte ich beim Erstellen von Verzeichnissen mit der Funktion „mkdir()“ von PHP die Fehlermeldung „Berechtigung verweigert“?**

Susan Sarandon
Susan SarandonOriginal
2024-10-25 17:56:03913Durchsuche

**Why am I Getting a

Fehler „Berechtigung verweigert“ beim Erstellen eines Verzeichnisses mit der mkdir-Funktion von PHP

Beim Erstellen eines Verzeichnisses mit der mkdir-Funktion von PHP kann der folgende Fehler auftreten:

Warning: mkdir() [function.mkdir]: Permission denied in ....

Dieser Fehler weist darauf hin, dass der Apache-Benutzer nicht über die erforderlichen Berechtigungen zum Erstellen des Verzeichnisses am angegebenen Speicherort verfügt.

Lösung:

Anstatt die Berechtigungen auf 777 festzulegen, was allen Benutzern übermäßigen Zugriff gewährt, sollten Sie die folgende Alternative in Betracht ziehen:

1. Besitz und Berechtigungen festlegen:

  • Gewähren Sie der Apache-Gruppe und dem Benutzer den Besitz aller Dateien (z. B. www-data in Ubuntu).

    <code class="console">sudo chown -R www-data:www-data /path/to/webserver/www</code>
  • Erlauben Sie allen Mitgliedern der Apache-Gruppe, Dateien zu lesen und zu schreiben.

    <code class="console">sudo chmod -R g+rw /path/to/webserver/www</code>

2. Benutzer und Gruppe überprüfen:

  • Überprüfen Sie, ob der Apache-Benutzer Teil der www-data-Gruppe im Host-Betriebssystem ist.

    <code class="console">sudo usermod -aG www-data <username></code>

3. Webserver neu starten:

  • Starten Sie den Webserver (z. B. Apache2) neu, um die Änderungen zu übernehmen.

    <code class="console">sudo service apache2 restart</code>

Beispiel für 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>

Nach der Implementierung dieser Schritte sollte die Funktion mkdir() ohne Fehler aufgrund der Berechtigungsverweigerung ausgeführt werden.

Das obige ist der detaillierte Inhalt von**Warum erhalte ich beim Erstellen von Verzeichnissen mit der Funktion „mkdir()“ von PHP die Fehlermeldung „Berechtigung verweigert“?**. 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