2016-12-30 6 views
0

Ich habe einen Seitenaufrufzähler in Laravel 5.2 erstellt. Es funktioniert, wenn ich lokal hostiere, aber ich habe gerade auf einem Server mit Vultr eingesetzt und jetzt scheint es, dass Sitzungen nicht aktualisiert werden. Ich verwende Dateien, um die Sitzungen zu speichern, und ich kann sehen, dass die Dateien erstellt werden.Laravel Sitzung nicht auf Produktionsserver

Hier ist mein Code

$viewed = Session::get('viewed', []); 
    if (!in_array($id, $viewed)) 
    { 
     Event::fire(new ViewPostEvent($post)); 
     $request->session()->push('viewed', $post->id); 
    } 

Wenn ich lokal hosten kann ich ohne die Ansicht Zähler aktualisieren gehen, aber ich habe gerade meine Datenbank auf meinem Server und aktualisiert sie auf jeden aktualisieren ich auf dem Live-Server zu machen. Die Berechtigungen für den Speicherordner sind 777.

Antwort

1

Auf dem Produktionsserver wird es nie empfohlen, 777 permission anzugeben. Sie können 755 permission für Speicherordner angeben. Die nächste Sache, um zu überprüfen, ist der Besitz des Ordners.

Bitte ändern Sie die Benutzergruppe an folgenden

sudo chown www-data:www-data /var/www/html/larvel/storage/framework/sessions 

dann den folgenden Befehl von Ihrem Laravel Stammordner ausführen.

php artisan cache:clear 

Danach,

laufen
composer dump-autoload 

neu laden Apache/nginx Server

sudo service apache2 reload 

Es sollte nun arbeiten werden.

+0

Ich gab dies eine Chance und es hat nicht funktioniert. Ich habe den Sitzungstreiber von Datei in Cookie geändert, und ich bekomme immer noch das gleiche Problem, also glaube ich nicht, dass es mit dem Speicher der Sitzung zusammenhängt – Feltie

0

Dummer Fehler an meinem Ende, ich habe die Benutzer-ID anstelle der Post-ID überprüft, so dass es nicht in der Sitzung gefunden wurde.

Verwandte Themen