Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
gtz
Threadersteller
Dabei seit: 15.04.2002
Ort: -
Alter: 48
Geschlecht:
|
Verfasst Fr 21.05.2004 12:59
Titel php, mkdir, safemode & frage |
|
|
hallo,
ich versuche per script ein verzeichnis whatever/path/xx/ und anschließend ein verzeichnis whatever/path/xx/yy/ zu erstellen:
Code: |
$old_umask= umask(0);
$itemno= trim($_REQUEST["itemno"]);
$path= chunk_split($itemno, 2, "/");
$subpaths= explode("/", substr($path, 0, strlen($path)-1);
mkdir($GLOBALS["config"]["imgpath_prefix"].$subpaths[0], 0777);
mkdir($GLOBALS["config"]["imgpath_prefix"].$subpaths[0]."/".$subpaths[1], 0777);
umask($old_umask);
|
das erste verzeichnis wird anstandslos erstellt, beim zweiten gibs die fehlermeldung:
Zitat: |
Warning: SAFE MODE Restriction in effect. The script whose uid is 641 is not allowed to access ../images/items/12 owned by uid 30 in /path/to/script/admin_imageupload.php on line 24
|
wboei zeile 24, das zweite mkdir ist.
hat irgendjemand von euch nen vorschlag dazu? besonders verwundert mich, daß das erstellte verzeichnis offenbar von jemand anderem geowned wird, als dem script.
|
|
|
|
|
fraxy
Dabei seit: 25.05.2004
Ort: -
Alter: 41
Geschlecht:
|
Verfasst Di 25.05.2004 11:43
Titel
|
|
|
hmm,
probier mal mit chown() den benutzer zu ändern, sprich von 30 auf 641
nur ne idee. ansonsten wär noch interessant ob du ihm ersten dir dateien erstellen kannst?
welcher provider? vielleicht hat der provider ja ne art kundenforum, da hätte dann bestimmt schonmal jemand vor dir dasselbe problem.
|
|
|
|
|
Anzeige
|
|
|
Lazy-GoD
Moderator
Dabei seit: 26.11.2001
Ort: -
Alter: 54
Geschlecht:
|
Verfasst Di 25.05.2004 11:47
Titel
|
|
|
de.php.net/mkdir hat geschrieben: | Note: When safe mode is enabled, PHP checks whether the directory in which you are about to operate has the same UID (owner) as the script that is being executed. |
SAFE MODE ausschalten, dann sollte es gehen... ist aber auch nicht die feine englische...
Ansonsten mal weiterlesen:
http://www.php.net/mkdir
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Di 25.05.2004 14:53
Titel
|
|
|
Ist das dein eigener Server? Dann stell den Safe-Mode aus. Der schränkt dich eh nur ein und Du wirst ja schon wissen, was Du mit deinem Server anstellst...
Tja, und wenn es ein Shared-Server ist, also ein Server deines Providers, dann wirst Du den Safe-mode nicht abstellen können und vermutlich wird dein Provider da auch nichts dran ändern wollen...
Da hilft dann nur, einen anderen Provider zu nehmen - je nachdem, was man mit PHP machen will.
Aber trotzdem solltest Du auch im SafeMode Verzeichnisse erstellen können. Ich schätze mal, Du müßtest nur die UID des Verzeichnisses ändern, in dem das neue Verzeichnis erstellt werden soll.
|
|
|
|
|
gtz
Threadersteller
Dabei seit: 15.04.2002
Ort: -
Alter: 48
Geschlecht:
|
Verfasst Di 25.05.2004 15:01
Titel
|
|
|
ne, is nich mein eigener server, und der provider will verständlicher weise den safemode nicht ausschalten. es scheitn ein bekanntes problem zu sein, daß die benutzerrechtegeschichte im safemode irgendwie inkonsistent geregelt is.
ich hab mir jetz so beholfen:
wenn ich ein verzeichnis erstellen muß, bau ich ne ftp-verbindung zum server auf, ftp_mkdir das verzeichnis, ftp_chmod drauf und dann ftp-verbindung benden. geht erstaunlich schnell, selbst wenn ich in einem aufruf gute 11000 verzeichnisse erzeugen muß.
|
|
|
|
|
fraxy
Dabei seit: 25.05.2004
Ort: -
Alter: 41
Geschlecht:
|
Verfasst Di 25.05.2004 15:21
Titel
|
|
|
bei meinem provider ist safemode aus, kann das daher nicht ausprobieren.
Safe Mode denies all access to files from scripts that are owned by a different user than the file
was gehen könnte:
wenn du das script ebenso wie das verzeichnis erst mittels script erstellst(einmalig).
der besitzer des scripts dürfte derselbe sein wie der des (zu erstellenden) verzeichnisses und dürfte somit auch darin wieder verzeichnisse erstellen.
|
|
|
|
|
gtz
Threadersteller
Dabei seit: 15.04.2002
Ort: -
Alter: 48
Geschlecht:
|
Verfasst Di 25.05.2004 15:24
Titel
|
|
|
fraxy hat geschrieben: | bei meinem provider ist safemode aus, kann das daher nicht ausprobieren.
Safe Mode denies all access to files from scripts that are owned by a different user than the file
was gehen könnte:
wenn du das script ebenso wie das verzeichnis erst mittels script erstellst(einmalig).
der besitzer des scripts dürfte derselbe sein wie der des (zu erstellenden) verzeichnisses und dürfte somit auch darin wieder verzeichnisse erstellen. |
ne, das läuft nich. im safemode gehören die erstellten files und direcotries dem webserver (zumindest in der konfiguration, mit der ich gesegnet bin). es sei denn, ich gehe den umweg über ftp, dann gehören die files natürlich dem ftp-user, also mir.
und ich weiß auch zur implementationszeit noch nicht, welche verzeichnisse alle im laufe der zeit benötigt werden.
Zuletzt bearbeitet von gtz am Di 25.05.2004 15:25, insgesamt 1-mal bearbeitet
|
|
|
|
|
fraxy
Dabei seit: 25.05.2004
Ort: -
Alter: 41
Geschlecht:
|
Verfasst Di 25.05.2004 15:28
Titel
|
|
|
gtz hat geschrieben: |
ne, das läuft nich. im safemode gehören die erstellten files und direcotries dem webserver (zumindest in der konfiguration, mit der ich gesegnet bin). es sei denn, ich gehe den umweg über ftp, dann gehören die files natürlich dem ftp-user, also mir.
und ich weiß auch zur implementationszeit noch nicht, welche verzeichnisse alle im laufe der zeit benötigt werden. |
eben, wenn das "directory-erstell-script" dem webserver gehört kann dieses script auch verzeichnisse innerhalb von erstellten verzeichnissen erstellen.
du musst nur dafür sorgen, dass das script welches die verzeichnisse erstellt, auch dem webserver gehört.
das müsste der fall sein wenn du es per php erst erzeugst, als file ablegst.
theoretisch müsst das klappen, schlagt mich ansonsten.
|
|
|
|
|
|
|
|
Ähnliche Themen |
php : mkdir() - problem
[PHP] SafeMode Off. Wie?
SafeMode und PclZip
PclZip und SafeMode
Rechtliche Frage bzw. einfach ne Frage :)
Frage nach der Frage
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|