PHP mkdir ordner erstellen

Drogenfahnder

Well-known member
ID: 167222
L
28 April 2006
333
6
Hallo,
wenn ich eine Order erstelle
Code:
mkdir ( $dirname, 0777 )
und in diesem Order noch mal einen Order
Code:
mkdir ( $dirname2, 0777 )
erstelle schlägt dies fehl da der erste Ordner unter einem falschen Benutzer (www-data) erstellt wurde.
Leider bring auch
Code:
chown($dirname,"10001");
keine Änderung.

Was ist die beste Lösung in so einem Fall?
Ist eine Änderung mit php überhaupt möglich oder muss dies alles durch apache eingestellt werden.

Es werden allerdings mehrere Homepages auf dem Server betrieben mit unerschiedliche uid, dann benötigt jede Seite die passende uid
 
Hi,

1.) wer 'chown' sagt, muss auch 'chgrp' sagen. Wird dir aber vermutlich weniger helfen

2.) Ist das Dein Server? Wenn ja, deaktiviere für DEINEN vHost den safe_mode mittels 'php_admin_flag safe_mode off' in <VirtualHost>...</VirtualHost>

3.) wenn du per FTP Ordner anlegst, erhalten diese die richtigen Berechtigungen/Besitzer usw. PHP kann FTP, leg damit die Ordner an, wenn es mit PHP selbst nicht gehen will (und safe_mode keine Option ist).
siehe: https://de.php.net/manual/de/function.chmod.php die Comments weiter unten, sind auch Beispiele dabei.

4.) PHP als fcgi, dann läuft der Prozess unter Deiner uid/gid, damit erhalten die durch diesen Prozess erstellten Dateien und Ordner ebenfalls diese uid/gid.


Aber ich meine behaupten zu können, dass das so auf dem PHP-üblichen Weg funktionieren müsste.


Gruß