Es ist eine Frage zur Laravel-Installation. Ich habe ein öffentlich zugängliches Unix-Server-Setup:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/mydomain"
ServerName mydomain.org
ServerAlias www.mydomain.org
ErrorLog "/var/log/mydomain.org-error_log"
CustomLog "/var/log/mydomain.org-access_log" common
</VirtualHost>
Ich kann Dokumente gut aus / var / www / mydomain liefern, dh http://mydomain.org/test.php, mit test.php bereitstellen, das Folgendes enthält:
<?php echo 'test';
funktioniert gut.
In Bash, mit Laravel über Composer installiert und die Dateien betrachten:
# ls /var/www/mydomain/my-laravel-project
.gitattributes CONTRIBUTING.md artisan composer.json phpunit.xml readme.md vendor
.gitignore app bootstrap composer.lock public server.php
Also, wenn ich navigiere zu:
http://mydomain.org/my-laravel-project/public/
Warum berichtet meine Bewerbung:
Error in exception handler.
im Browser - auf einem leeren weißen Bildschirm? Ich erwarte den Laravel-Begrüßungsbildschirm.
Darüber hinaus enthüllen die Protokolldateien auch nichts.
/var/log
und sehen, was sie, wenn überhaupt, zu sagen haben?app/storage/logs
? Und sind alle Speicherverzeichnisse beschreibbar?Antworten:
Die sicherere Option wäre, die Gruppe der Speicherverzeichnisse in Ihre Webservergruppe zu ändern (normalerweise
apache
oderwww-data
, dies kann jedoch zwischen den verschiedenen Betriebssystemen variieren) und die Berechtigungen ab dem Verzeichnis als beizubehalten775
.Oder mit
chown
.Stellen Sie dann sicher, dass die Verzeichnisberechtigungen vorhanden sind
775
.Von der Laravel-Website :
quelle
sudo chown -R _www app/storage
Folgendes bewirkt : (Ersetzen Sie _www bei Bedarf durch Ihren Apache-Servernamen.)chmod -R g+w app/storage
Laravel 5.2
chmod -R 777 Speicher
Ältere Laravel chmod 777 App / Speicher / *
Hinweis: Wenn Sie einen vernünftig gesperrten dedizierten Server ohne andere Benutzerkonten als Ihren eigenen haben, sollte 777 kein größeres Sicherheitsrisiko darstellen als alles andere. Es müsste eine andere Sicherheitslücke für einen böswilligen Benutzer geben, um dies auszunutzen, und zu diesem Zeitpunkt ist die 777-Berechtigung wahrscheinlich ohnehin umstritten. Wenn Sie sich jedoch auf einem gemeinsam genutzten Server mit anderen Benutzern befinden, denen Sie nicht vertrauen, müssen Sie sich mit komplizierteren Berechtigungen befassen oder prüfen, ob Ihr Hosting-Anbieter bereits eine Isolation bereitgestellt hat.
Sie sollten dies wirklich in die Schnellstartdokumente aufnehmen und Beispiele für verschiedene Setups bereitstellen. Möglicherweise müssen Sie es auch nach dem ersten Laden erneut ausführen, da automatisch weitere Verzeichnisse erstellt werden. Suchen Sie in Ihren Protokollen nach Schreibfehlern.
Außerdem sollte Ihr DocumentRoot / path / to / laravel-project / public sein
quelle
Ich habe alte Sitzungen im
app/storage/sessions
Ordner gelöscht und eine775
Erlaubnis gegeben,app/storage
dass es danach wie ein Feuer funktioniert!Viel Glück!
quelle
Der Zug hat dies vor langer, langer Zeit weitergegeben, aber ich habe noch einen weiteren Rat bezüglich "Fehler im Ausnahmebehandler".
Das passierte mir, als ich "php artisan" leitete. Dies ist eine gute Möglichkeit, um zu beurteilen, ob Ihre Umgebung im Allgemeinen funktioniert.
Ich habe es ausgeführt und es gab mir diesen Fehler, und ich konnte das Problem nicht genau bestimmen, bis ich die Handwerkerdatei im Stammverzeichnis meines Projekts bearbeitet und eine try catch-Anweisung hinzugefügt habe:
An diesem Punkt sah ich endlich eine aufschlussreiche Botschaft:
Das war in meinem Fall eine schlechte Redis-Konfiguration, aber in Ihrem Fall könnte alles sein.
Ich hoffe, das hilft jemandem, oder zumindest wenn ich das nächste Mal hier bin, werde ich meine eigene Antwort finden.
quelle
could not find driver
. Und dann fand ich heraus, dass ich installiert hattephp-mysql
, währendphp7.0-mysql
es erforderlich war. Dieser Link hat mir auch geholfen - digitalocean.com/community/tutorials/…Der kürzeste Weg, dies zu lösen, besteht darin, Handwerker mit Sudo zu beginnen. Dies gibt dem Handwerker alle erforderlichen Berechtigungen und macht auch keine Sicherheitsprobleme.
Also stattdessen anfangen Handwerker dienen mit:
versuchen Sie es mit:
Daher müssen Sie keine Berechtigungsänderungen vornehmen
quelle
Ich habe das gleiche Problem, ich ändere nur die Berechtigung von Verzeichnis App / Speicher auf 775 mit der Befehlszeile von chmod
quelle