Если вы установили свои права доступа к файлам правильно на директории /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
Вы должны получить некоторые результаты, аналогичные ниже этого изображения:
Обратите внимание, как мы уже доступ к сайту в качестве корневого пользователя, это наша проблема, и мы можем подтвердить это запустив ps aux | grep apache2
Вы можете увидеть здесь apache2 работают как WWW-данные пользователя, что является нормальным для апача. Это означает, что когда наша установка laravel пытается переместить файлы либо с использованием ->move()
, либо просто пытается записать файл журнала, он не работает, поскольку пользователь www-data не имеет разрешения. Таким образом, вы можете изменить к этому www-data
пользователю, запустив: chown -R www-data:wwww-data *
Теперь, если вы запустите ls -l
в вашем www/html
каталоге вы должны увидеть суперпользователь изменен на WWW-данные:
Это означает, что в настоящее время редактирования файлы как пользователь www-data, у которого есть разрешение, поэтому любые изменения, которые вы делаете через SFTP, должны отражать это изменение пользователя. Исправлена!
Редактировать - Это первый раз, когда я ответил на свой вопрос, надеюсь, все в порядке.
Если какие-либо ошибки не записываются в проект error.log, тогда сначала проверьте свой журнал ошибок сервера, он расскажет вам, где проблема. –
@AlexeyMezenin StackOverflow разрешает и * призывает пользователей отвечать на свои вопросы. http://stackoverflow.com/help/self-answer – ceejayoz