mkdir(): Permission denied Laravel
Bin ich mit dem folgenden Skript für eine image-upload in einem server und bekomme die folgende Fehlermeldung, während es funktioniert perfekt auf dem localhost.
Code
$user_id = Auth::id();
$logicpath = 'userdp/' . $user_id . '/';
$pubpath = 'userdp/' . $user_id . '/' . $dpFile;
$path = '/userdp/' . $user_id . '/' . $dpFile;
if (!file_exists($logicpath)) {
mkdir($logicpath, 0777, true);
}
Fehler
ErrorException in UploadController.php Linie 605: mkdir(): Permission
verweigertin HandleExceptions->handleError('2', 'mkdir(): Permission denied',
'/var/www/html/laravel/app/Http/Controllers/UploadController.php',
'605', array('dp' => Objekt(UploadedFile), 'ext' => 'jpg', 'img' =>
Objekt(Bild), 'mime' => 'image/jpeg', 'width' =>', 200', 'height' =>
'200', 'fileSize' =>', 17152', 'dpFile' =>
'f12f298ab18d58a59c4ed8a589cd1cdc.jpg', 'user_id' => '1', 'logicpath'
=> 'userdp/1/', 'pubpath' => 'userdp/1/f12f298ab18d58a59c4ed8a589cd1cdc.jpg', 'path' =>
'/userdp/1/f12f298ab18d58a59c4ed8a589cd1cdc.jpg'))
Versuchte ich chmod 777 public
neu gestartet und die server. Aber es hat nicht funktioniert.
- Sie verwenden sollte 755 nicht auf 777.
- Geben Sie niemals 777-Berechtigung, um Ihr root-Ordner. Seine Sicherheits-Leck für den Beruf Hacker. Bitte versuchen Sie es zu binden engen Sicherheits-Regeln und weisen nur die benötigten Berechtigungen / Rechte für die Gruppe / user.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Führen Sie chmod rekursiv, um sicherzustellen, dass alle Unterverzeichnisse tragen auch die gleichen Berechtigungen. Versuchen Sie, dieses anstatt:
Nun, während dieser wird das Problem beheben, sollten Sie auf jeden Fall Lesen, bis auf die Probleme mit der Einstellung der oben genannten Berechtigungen wie dieser link gepostet in den Kommentaren unten zeigt. Krank post hier:
http://stackoverflow.com/a/11271632/2790481
EDIT: Dies sollte nur durchgeführt werden, innerhalb des Laravel-Speicher dir innerhalb
/var/www/html/laravel/storage
, zum Beispiel, und nie getan werden in der system-Ebene. Ich vergaß zu erwähnen, dass ursprünglich, also alle die downvotes.Versuchen:
Sie versuchen zum verschieben der hochgeladenen Datei einen Ordner in die root deines Servers. Stellen Sie sicher, Sie erhalten die absolut richtigen Weg.
userdp
rekursiv:chmod -R 755 public/userdp
Werden Sie sicher, dass Sie den CHMOD rekursiv und mit administrator-Berechtigungen (wenn Sie können)
Hinsichtlich
Fand ich dann eine sehr interessante Lösung für dieses problem. Stellen Sie einfach". " - Zeichen, wie in diesem Beispiel. Es funktioniert für mich.
Gleichen Fehler für den Befehl
Aber es funktionierte, nachdem die folgenden Befehle
Oder besser laufen composer create-project-Befehl, um einige anderen Weg als htdocs