2016-03-20 2 views
9

Я установил Laravel 5 на новый VPS, я работал все отлично, но я заметил, что у меня не было никаких ошибок Laravel, система могла бы только вызвать ошибку сервера 500, которая не помогает при отладке моего кода.Laravel 5 не получил никаких журналов ошибок

Когда я посмотрел в laravel storage/log, было пусто, что было странно, потому что я установил правильные права доступа к файлам 777.

Так как я могу получить журналы laravel? Почему они не записываются в мой файл storage/log.

+2

Если какие-либо ошибки не записываются в проект error.log, тогда сначала проверьте свой журнал ошибок сервера, он расскажет вам, где проблема. –

+0

@AlexeyMezenin StackOverflow разрешает и * призывает пользователей отвечать на свои вопросы. http://stackoverflow.com/help/self-answer – ceejayoz

ответ

6

Если вы установили свои права доступа к файлам правильно на директории /storage файла и вы работаете на VPS не общий хостинг вы можете проверить свой журнал апачского, внутри var/log/apache2/error.log

Здесь вы можете просто увидеть линия, читать что-то вдоль линий /var/www/html/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied

Ну это странно, потому что у вас есть правильные права доступа к файлам ...

Давайте начнем с ssh'ing в ваш VPS голову в каталог, где установлен нормально cd /var/www/html Laravel

В здесь, если вы бежите ls -l Вы должны получить некоторые результаты, аналогичные ниже этого изображения: enter image description here

Обратите внимание, как мы уже доступ к сайту в качестве корневого пользователя, это наша проблема, и мы можем подтвердить это запустив ps aux | grep apache2

enter image description here

Вы можете увидеть здесь apache2 работают как WWW-данные пользователя, что является нормальным для апача. Это означает, что когда наша установка laravel пытается переместить файлы либо с использованием ->move(), либо просто пытается записать файл журнала, он не работает, поскольку пользователь www-data не имеет разрешения. Таким образом, вы можете изменить к этому www-data пользователю, запустив: chown -R www-data:wwww-data *

Теперь, если вы запустите ls -l в вашем www/html каталоге вы должны увидеть суперпользователь изменен на WWW-данные:

enter image description here

Это означает, что в настоящее время редактирования файлы как пользователь www-data, у которого есть разрешение, поэтому любые изменения, которые вы делаете через SFTP, должны отражать это изменение пользователя. Исправлена!

Редактировать - Это первый раз, когда я ответил на свой вопрос, надеюсь, все в порядке.

+1

Это нормально, чтобы ответить на ваш собственный вопрос. – ceejayoz

Смежные вопросы