2016-03-20 10 views
9

Ho installato Laravel 5 su un nuovo VPS, stavo correndo tutto bene ma ho notato che non ricevevo errori di Laravel il sistema avrebbe solo generato un errore del server 500 che non mi è di aiuto quando eseguo il debug del mio codice.Laravel 5 non ha trovato nessun registro errori

Quando ho cercato nel laravel storage/log era vuoto, il che era strano perché avevo impostato le autorizzazioni file corrette di 777.

Quindi come posso ottenere i registri di laravel? Perché non vengono scritti nel mio file storage/log.

+2

se qualche errore non sta scrivendo in project error.log, quindi controlla prima il log degli errori del server, ti dirà dove si trova il problema. –

+0

@AlexeyMezenin StackOverflow consente entrambi e * incoraggia * gli utenti a rispondere alle proprie domande. http://stackoverflow.com/help/self-answer – ceejayoz

risposta

6

Se hai impostato i permessi dei file in modo corretto sulla directory /storage di file e il gioco è in esecuzione su un VPS non hosting condiviso si potrebbe desiderare di controllare il log di Apache, all'interno var/log/apache2/error.log

Qui si potrebbe anche vedere un linea che leggere qualcosa sulla falsariga di /var/www/html/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied

Beh questo è strano perché si hanno i permessi dei file corretti ...

Cominciamo SSH'ing in testa VPS nella directory in cui è installato laravel normalmente cd /var/www/html

Qui se si esegue ls -l Si dovrebbe ottenere alcuni risultati simili a questa immagine qui sotto: enter image description here

Notate come abbiamo accesso al sito come utente root, questo è il nostro problema e possiamo confermare questo eseguendo ps aux | grep apache2

enter image description here

potete vedere qui apache2 è in esecuzione come utente www-data, che è normale per apache. Il che significa che quando la nostra installazione di laravel cerca di spostare file usando ->move() o semplicemente provando a scrivere il file di log, fallisce perché l'utente di www-data non ha il permesso. Così si può cambiare a questo utente www-data da corsa: chown -R www-data:wwww-data *

Ora, se si esegue ls -l nella directory www/html si dovrebbe vedere utente root cambiato in www-data:

enter image description here

Questo mezzo sono stati ora modificando i file come utente di dati www che dispone dell'autorizzazione, quindi eventuali modifiche apportate tramite SFTP dovrebbero riflettere questa modifica dell'utente. Fisso!

Modifica - Questa è la prima volta che ho risposto alla mia stessa domanda, si spera che sia ok.

+1

Va bene rispondere alla tua stessa domanda. – ceejayoz

Problemi correlati