Mein Code
%Vor%und
%Vor%funktioniert nicht, der abgesicherte Modus ist ausgeschaltet, und ich habe sogar versucht, alle übergeordneten Ordner auf 777 zu setzen.
Irgendwelche Ideen?
EDIT: Ich habe Fehlermeldungen aktiviert, in meiner Frustration habe ich den ganzen Pfad durchgearbeitet, nur um sicherzustellen, dass das nicht das Problem ist. Es muss etwas Dummes sein, was einfach passiert.
BEARBEITEN BEARBEITEN: Upvotes für alle, die mit Vorschlägen geantwortet haben ... Aber ich werde keine Antwort auswählen, da dies immer noch nicht gelöst ist, aber dann denke ich, dass dies eine der offen gelassenen sein wird für immer.
EDIT x 3: Also habe ich immer die unbefriedigendste Lösung für diese Frage ... Ich habe mit einem sauberen VM-Image begonnen, es erneut versucht und es funktioniert jetzt. Kein Witz.
Gibt es alle übergeordneten Verzeichnisse?
Wenn nicht, müssen Sie die Rekursion aktivieren (vorausgesetzt PHP5 ist hier):
%Vor% EDIT: Habe den versteckten Kommentar nicht gesehen, dass jedes Verzeichnis von var
downwardal auf "global schreibbar" gesetzt wurde, also wette ich, dass der Verzeichnispfad existiert und das obige nicht hilfreich ist. Entschuldigung!
Versuchen Sie, diese Verzeichnisse rekursiv zu erstellen, wie Sie es mit mkdir -p
in der Befehlszeile tun würden? Wenn ja, geben Sie true
als dritten Parameter für mkdir
an.
Um nur die vorherigen Vorschläge zu wiederholen, geben Sie bitte die Fehlermeldungen an, die Sie erhalten. Wenn Sie keine erhalten, verwenden Sie dies vor Ihrem Anruf: error_reporting(-1); // ALL messages
und ini_set('display_errors', 'On');
.
Ich habe ein ähnliches Problem und habe herausgefunden, dass ich keinen freien Speicherplatz mehr auf meiner Festplatte habe. Überprüfen Sie mit dem Befehl df
(auf Linux), wie voll Ihr Laufwerk ist. Es ist möglich, dass root Dateien und Ordner in dieser Situation erstellen kann, weil er Speicherplatz reserviert hat. Wenn Sie Ihr Skript über die Befehlszeile als root
user ausführen, gibt es keinen Fehler, aber wenn Ihr Skript von apache
ausgeführt wird, tritt ein Fehler auf.
Hast du es mit dem kürzesten Test versucht?
mkdir ('Verzeichnis', 0777);
Wenn das nicht funktioniert, würde ich versuchen, mit einem Standard-CHMOD wie 0755 zu erstellen (das ist eine völlig zufällige Schätzung, vielleicht lässt der Server es nicht zu, 0777 über PHP zu erstellen)
Wenn das nicht funktioniert, würde ich sagen, dass der Server wahrscheinlich ein anderes Setup / PHP braucht, um den Schreibzugriff auf den Ordner zu behalten, vielleicht könnten Sie Ihren Host-Provider fragen?