Heim > Backend-Entwicklung > PHP-Tutorial > **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
Freigeben: 2024-10-25 17:56:03
Original
1039 Leute haben es durchsucht

**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 ....
Nach dem Login kopieren

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>
    Nach dem Login kopieren
  • 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>
    Nach dem Login kopieren

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>
    Nach dem Login kopieren

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>
    Nach dem Login kopieren

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 dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage