Heim >Backend-Entwicklung >PHP-Problem >Was tun, wenn PHP mkdir nicht über ausreichende Berechtigungen verfügt?

Was tun, wenn PHP mkdir nicht über ausreichende Berechtigungen verfügt?

藏色散人
藏色散人Original
2020-09-03 10:47:575808Durchsuche

Lösung für die unzureichenden Berechtigungen von php mkdir: 1. Ändern Sie die Systemstandardberechtigungen auf 777 und geben Sie höhere Berechtigungen für mkdir an. 2. Stellen Sie die chmod-Funktion so ein, dass sie über Berechtigungen verfügt, die über den Systemstandardberechtigungen liegen. 3. Legen Sie den mkdir-Befehl fest Berechtigungen größer als der Standardwert.

Was tun, wenn PHP mkdir nicht über ausreichende Berechtigungen verfügt?

Empfehlung: „PHP-Video-Tutorial

Berechtigungsproblem mit der mkdir()-Funktion in PHP

Problembeschreibung:

Verwenden des folgenden PHP-Codes zum Erstellen eines Verzeichnisses mit den erwarteten Berechtigungen von Das Verzeichnis ist 0777, das tatsächliche Ergebnis ist 0755.

Zum Beispiel ist die Standard-Umask von Linux im Allgemeinen 0022, das heißt, die Standardberechtigung zum Erstellen eines Verzeichnisses ist 0755, sodass php mkdir('./aa/',0777) zu diesem Zeitpunkt die Berechtigung des Verzeichnisses erhält sei 0755.

mkdir('./aa/',0777);

Ändern Sie die Standardberechtigung des Systems auf 777. mkdir() kann größere Berechtigungen angeben

xw@xw-X201:~/Desktop/dd/aa$ umask
0022
xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw/',0777);"
xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw1/',0755);"
xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw2/',0747);"
xw@xw-X201:~/Desktop/dd/aa$ ll
总用量 20
drwxrwxrwx 5 xw xw 4096 2012-06-01 11:58 ./
drwxr-xr-x 6 xw xw 4096 2012-06-01 11:26 ../
drwxr-xr-x 2 xw xw 4096 2012-06-01 11:57 xw/
drwxr-xr-x 2 xw xw 4096 2012-06-01 11:58 xw1/
drwxr--r-x 2 xw xw 4096 2012-06-01 11:58 xw2/

2.chmod()-Funktion wird von der System-Umask nicht beeinflusst und kann Berechtigungen festlegen, die über die Standardberechtigungen des Systems hinausgehen.

xw@xw-X201:~/Desktop/dd/aa$ umask 000
xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw2/',0777);"
xw@xw-X201:~/Desktop/dd/aa$ ll
总用量 12
drwxrwxrwx 3 xw xw 4096 2012-06-01 12:08 ./
drwxr-xr-x 6 xw xw 4096 2012-06-01 11:26 ../
drwxrwxrwx 2 xw xw 4096 2012-06-01 12:08 xw2/

3. Der mkdir-Befehl des Systems kann Berechtigungen festlegen, die über dem Standardwert liegen.

xw@xw-X201:~/Desktop/dd/aa$ umask
0022
xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw1/',0777);"
xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw2/');"
xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw3/');chmod('./xw3/',0777);"
xw@xw-X201:~/Desktop/dd/aa$ ll
总用量 20
drwxrwxrwx 5 xw xw 4096 2012-06-01 12:12 ./
drwxr-xr-x 6 xw xw 4096 2012-06-01 11:26 ../
drwxr-xr-x 2 xw xw 4096 2012-06-01 12:11 xw1/
drwxr-xr-x 2 xw xw 4096 2012-06-01 12:11 xw2/
drwxrwxrwx 2 xw xw 4096 2012-06-01 12:12 xw3/

Zusammenfassung: Wenn

php ein Verzeichnis mit Lese- und Schreibberechtigungen erstellen möchte, verwenden Sie am besten den folgenden Code. Verwenden Sie nicht direkt die Funktion mkdir, um Berechtigungen anzugeben, um die Auswirkungen von System umask zu vermeiden

Das obige ist der detaillierte Inhalt vonWas tun, wenn PHP mkdir nicht über ausreichende Berechtigungen verfügt?. 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