2015-08-20 12 views
5

Ich habe das folgende Problem mit Laravel (5.1) Sitzungen auf Ubuntu 14.04. Bei jeder Anfrage wird eine neue Session-Datei in Storage/Framework/Sessions generiert. Wie Sie bereits erraten haben, ist der Session-Treiber 'Datei', 'Lifetime' ist auf 120 gesetzt. Dies scheint eine Art Berechtigungsfehler zu sein. Ich habe die Berechtigung des Speicherordners auf 755 (auch 777) festgelegt, aber jede neu erstellte Sitzungsdatei hat die Berechtigung 664 (rw-rw-r--). Über Google habe ich nur ein Session-Problem im Zusammenhang mit dd (...) gefunden, aber das ist hier nicht der Fall, insbesondere, dass es in einer Windows-Umgebung funktioniert. Was ich ursprünglich tun wollte, ist die redirect() -> intended(), die die in der Sitzung gespeicherten Informationen verwendet.Laravel 5.1 auf Ubuntu 14.04 Probleme mit der Sitzung

Muss ich php artisan serve auf eine spezielle Art und Weise ausführen?

+0

können Sie die Fehlermeldung anzeigen? – mdamia

+0

Es erscheint kein Fehler. redirect() -> intended ('dashboard') verwendet nur die angegebene Fallback-Route, wenn 'url.intended' in der Sitzung nicht gefunden wird: $ this-> session-> pull ('url.intended', $ default); Das zweite Symptom ist, dass bei jeder Anfrage eine neue Session-Datei generiert wird, so dass keine Information mehr gespeichert werden kann. –

+0

Das ist nicht das beabsichtigte Verhalten der Session. seltsam, obwohl. Versuchen Sie, den Cache zu leeren und die automatische Ladefunktion zu löschen. – mdamia

Antwort

1

Seit ich Vagrant und Homestead verwende, ist alles in Ordnung. Das Ausführen des in PHP eingebauten Webservers scheint nur ein Trick zu sein.

0

Testen Sie die funcionality in den Speicherordner

alle Berechtigungen geben
find /path/to/storage/folder -type d -exec chmod 777 {} \; 

Wenn es dann funktioniert die Propper Berechtigungen festgelegt, dass

find /path/to/storage/folder -type d -exec chmod 775 {} \; 

diese Weise können Sie in den meisten Fällen nur geändert werden sollte die Berechtigungen für die Verzeichnisse nicht die Dateien.

Wenn das Problem, dass es das neu erstellte ist, mit anderen Besitzer festgelegt werden, können Sie die Berechtigung dafür festlegen.

Es ist wie wenn ich auf meinem lokalen Server entwickeln Ich habe meinen Benutzer und der Benutzer www-Daten ist es der für Apache, wenn also Apache eine neue Datei erstellt, beginnt die Eigentumsrechte zu versauen.

find /path/to/root/of/project -type d -exec chmod g+s {} \; 
+0

Hat nicht geholfen. Die Ordner-Berechtigung war bereits gut. Ich nehme an, dass das Problem ist, dass diese neu erstellten Session-Dateien nicht die richtige Berechtigung haben. Sie sind nur 664, aber ich habe keine Ahnung warum. –

+0

Ok, so überprüfen Sie den Besitzer und die Gruppe dieser neuen Dateien, wenn sie anders als die für den Ordner sind, dann verwenden Sie den Befehl, den ich auf die Antwort setzen werde – dnetix

+0

Die Dateien haben den gleichen Besitzer und Gruppe. Der Prozesseigner des gestarteten Laravel-Servers ist übrigens derselbe. –