2016-11-04 3 views
0

Я только что развернул проект Laravel, который я разработал на локальном хосте (используя XAMPP) на сервере.Laravel Ubuntu 16.04, возвращающий код состояния 500

Я загрузил все файлы, создал новый .env-файл (также получил приложение-ключ), выполнил установку композитора, создал db, выполнил миграцию artisan.

Также в /etc/apache2/sites-enabled/000-default.conf Я установил DocumentRoot в общедоступный каталог laravel. Также я попытался отредактировать apache2.conf, чтобы включить каталог, с Allowoverride All.

Но, вводя ip-адрес моего сервера, я перенаправляюсь на страницу входа (конечно, я использую Auth Laravel).

Но я получаю сообщение об ошибке:

Failed to load resource: the server responded with a status of 500 (Internal Server Error) 

Я пытался следовать those шагов, но это все равно. За исключением одной точки, что в моем apache2.conf я больше не писал DocumentRoot, поскольку я уже установил ее в 000-default.conf. Я также попытался установить его во второй раз в apache2.conf, но это ничего не изменило.

Итак, что может быть проблемой?

Я использую Ubuntu 16.04.

PS: Кажется, что-то происходит внутри ларавеля. Когда я иду по существующему маршруту, я всегда получаю этот код ошибки 500. Когда я иду на маршрут, этого не существует, я получаю сообщение об ошибке (NotFoundHttpException), поэтому сама процедура маршрутизации, похоже, работает, но где эта ошибка родом из? Это именно локальные файлы, которые я использую с XAMPP, и локально он отлично работает ... Любые идеи?

EDIT: После редактирования моего каталога журналов, чтобы иметь разрешения, такие как 777, у меня тоже есть 2 ошибки.

Оба указывают на хранение/фреймворк/представления/хранилище/рамки/сеансы, говоря «Разрешение отказано». Мне просто нужно запустить chmod для этих каталогов?

+0

Yup, вы должны рекурсивно изменять разрешения для каталога 'storage'. Если вы используете 777, то 'sudo chmod -R 777/path/to/laravel/storage' –

ответ

1

Проверьте ошибку в storage/logs/laravel.log, если там нет протокола, убедитесь, что права на доступ к каталогу для storage позволяют писать. 775 - это то, что я обычно использую.

+0

Кажется, что нет сгенерированного журнала, когда он сгенерирован? Я установил разрешение на папку 775. – user5638730

+0

none есть красный флаг, который может быть проблемой. Был ли там каталог 'storage/logs'? Я имел дело с подобной проблемой, прежде чем я, хотя был разрешением, но оказалось, что мой каталог хранилища удален. Убедитесь, что ваш каталог хранилища соответствует умолчанию: https://github.com/laravel/laravel/tree/master/storage –

+0

да, вообще нет 'laravel.log', структура каталогов в порядке, единственная вещь в 'logs' папка' gitignore' ... Может ли что-то мне не хватает в общей конфигурации или что-то в этом роде?На самом деле Laravel как-то работает (как описано), потому что неопределенные маршруты бросают эту ошибку, тогда как существующие маршруты (например, '/ login') возвращают этот код ошибки 500 ... – user5638730

0

Хорошо, я понял, в основном это были разрешения.

Теперь я сменил владельца папки storage на www-data. Теперь он работает (для тех, кто может столкнуться с этой проблемой тоже).

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