Laravel zeigte mir "Zugriff für Benutzer 'homestead' @ 'localhost' verweigert (mit Passwort: YES)". Eine Lösung hierfür war das Löschen des Caches und des gespeicherten Konfigurationscaches mit den folgenden drei Befehlen:
php artisan cache:clear
php artisan config:clear
php artisan config:cache
Danach php artisan cache:clear
sagt das Terminal:
Failed to clear cache. Make sure you have the appropriate permissions.
(mit rotem Hintergrund)
Das Ausführen des zweiten und dritten Codes ( php artisan config:clear
und php artisan config:cache
) funktioniert einwandfrei! Aber es gibt mir immer noch den Fehler beim Eingeben der ersten Zeile. Kann jemand erklären warum?
laravel
composer-php
E.Akio
quelle
quelle
Antworten:
Wenn das
data
Verzeichnis unter (storage/framework/cache/data
) nicht vorhanden ist , tritt dieser Fehler auf.Dieses
data
Verzeichnis ist bei einer Neuinstallation standardmäßig nicht vorhanden.Das
data
manuelle Erstellen des Verzeichnisses unter (storage/framework/cache
) sollte dieses Problem beheben.quelle
storage/framework/cache/data
und bekomme diese Nachricht immer noch.storage/framework/cache
dieser Pfad muss bereits vorhanden sein (zumindest für neuere Laravel-Versionen 5.7+) - prüfen Sie, ob Sie den Standardspeicherpfad nicht überschreiben, und wenn nicht, ob Ihr Cache-Ordner über ausreichende Berechtigungen verfügt für Webserver / PHP; Angenommen, der Standard-FileStore-Cache - das Problem tritt wahrscheinlich in dervendor/laravel/framework/src/Illuminate/Cache/FileStore.php
Methode aufflush()
- können Sie von dort aus mit dem Debuggen beginnen :)Versuchen Sie, diese zwischengespeicherten Dateien im Bootstrap-Ordner zu löschen:
Dann renne
php artisan cache:clear
quelle
Berufung
Vor
Das Problem wurde behoben.
quelle
Nur nur Ordner mit dem Namen hinzufügen
data
instorage/framework/cache/
und versuchen:quelle
Ich habe mein Projekt in einem Docker-Container ausgeführt und später versucht, über laragon darauf zuzugreifen. Ich hatte ein ähnliches Problem, das auf kompilierte Konfigurationen in zurückzuführen war
/bootstrap/cache/config.php
.Ich habe die Passform durch Ausführen behoben.
php artisan config:clear
Dadurch wird die/bootstrap/cache/config.php
Datei automatisch gelöscht .quelle
Erster Versuch:
Überprüfen Sie, ob sich in "storage / framework / cache /" ein Ordner "data" befindet. Wenn dies nicht der Fall ist, erstellen Sie es manuell. (Erstellen Sie einen neuen Ordner mit dem Namen "Daten")
Option 2:
Wenn sich in "storage / framework / cache /" ein Ordner "data" befindet. Entfernen Sie ALLE vorhandenen Ordner.
Dann endgültig, folgendes:
Dies sollte das folgende Problem beheben: "Fehler beim Löschen des Cache. Stellen Sie sicher, dass Sie über die entsprechenden Berechtigungen verfügen."
quelle
Möglicherweise müssen Sie den Autoloader mit löschen
composer dump-autoload
Wenn dies nicht funktioniert, können Sie die folgenden (normalerweise) nicht verfolgten Dateien manuell entfernen, um den Autoloader und den Cache zu löschen, wenn sie blockiert werden:
/bootstrap/cache/packages.php
/bootstrap/cache/services.php
quelle
Ich hatte das gleiche Problem, bemerkte aber, wenn Sie PHP Artisan Config ausführen: Löschen Sie es auch standardmäßig Cache: Löschen Sie direkt danach. Wenn Sie es erneut ausführen, befindet sich kein Cache darin und gibt diesen Fehler aus. Sie müssen nur PHP Artisan Config ausführen: Clear. Ich bin nicht sicher, warum cache: clear fehlschlägt, wenn es alleine ausgeführt wird, aber das Ausführen von config: clear ist eine gute Alternative.
Hier ist ein hilfreicher Alias, mit dem ich alles in der App lösche.
laraclear='php artisan config:cache && php artisan config:clear && php artisan view:clear && php artisan route:clear && php artisan telescope:clear && php artisan debugbar:clear'
Entfernen Sie alle unerwünschten Befehle, die Sie nicht verwenden.
quelle
Sie sollten die Berechtigung mit dem folgenden Befehl aktualisieren:
sudo chown -R www-data:www-data ./storage
Dadurch wird das folgende Problem behoben
quelle
Hatte das gleiche Problem auf meiner Vagrant / Homestead-VM. Alle anderen Dinge in diesem Thread haben nicht geholfen.
Die Lösung war
vagrant reload --provision
quelle
Wenn keine dieser Arbeiten für Sie ausgeführt wird, führen Sie einfach Ihren PHP Artisan Cache aus: Befehl clear mit sudo. zB
sudo php artisan cache:clear
Danke später ~!quelle
Kann das nicht gelöst werden?
$php artisan optimize:clear Compiled views cleared! Application cache cleared! Route cache cleared! Configuration cache cleared! Compiled services and packages files removed!
quelle
Möglicherweise müssen Sie 777 -R Speicherordner chmod. und ich denke, es kann auch www-data chown: www-data
quelle