2015-08-20 35 views
5

Ho il seguente problema con le sessioni di laravel (5.1) su ubuntu 14.04. Ad ogni richiesta viene generato un nuovo file di sessione in storage/framework/sessioni. Come hai già intuito, il driver di sessione è 'file', 'lifetime' è impostato su 120. Questo sembra essere una sorta di errore di autorizzazione. Ho impostato il permesso della cartella di archiviazione su 755 (anche 777), ma ogni file di sessione appena generato ha il permesso 664 (rw-rw- r--). Tramite google ho trovato solo un problema di sessione relativo a dd (...), ma non è questo il caso, specialmente che funziona bene su un ambiente Windows. Quello che volevo fare originariamente è usare il redirect() -> intended(), che usa le informazioni memorizzate nella sessione.Laravel 5.1 su ubuntu 14.04 Problemi con la sessione

Devo eseguire php artisan in modo speciale?

+0

puoi mostrare il messaggio di errore? – mdamia

+0

Non sembra alcun errore. redirect() -> intended ('dashboard') usa semplicemente la rotta di fallback data quando non trova 'url.intended' nella sessione: $ this-> session-> pull ('url.intended', $ default); Il secondo sintomo è che a ogni richiesta viene generato un nuovo file di sessione in modo che nessuna informazione possa essere mantenuta in ogni caso –

+0

Questo non è il comportamento previsto dalla sessione. strano però. prova a svuotare la cache e scarica il caricamento automatico. – mdamia

risposta

1

Da quando uso Vagrant e Homestead, tutto va bene. L'esecuzione del PHP integrato nel webserver sembra essere solo un kludge.

0

prova il funcionality dare tutte le autorizzazioni per la cartella di memorizzazione

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

se funziona quindi impostare i permessi Propper che nella maggior parte dei casi dovrebbe essere

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

In questo modo è unico cambiamento le autorizzazioni alle directory non ai file.

Se il problema è che il nuovo creato viene impostato con un altro proprietario, è possibile impostarne l'autorizzazione.

È come quando sto sviluppando sul mio server locale Ho il mio utente e l'utente di www-data è quello per Apache, quindi se apache crea un nuovo file la proprietà inizia a rovinare.

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

Non ha aiutato. Il permesso per le cartelle era già buono. Immagino che il problema è che quei file di sessione appena generati non hanno il permesso giusto. Sono solo 664, ma non ho idea del perché. –

+0

Ok, quindi controlla il proprietario e il gruppo di quei nuovi file, se sono diversi da quelli per la cartella, quindi usa il comando che inserirò nella risposta – dnetix

+0

I file hanno lo stesso proprietario e il gruppo. A proposito, il proprietario del processo del server laravel avviato è lo stesso. –