Ошибка в обработчике исключений. - Laravel

Это вопрос, связанный с Laravel-install. У меня есть настройка сервера Unix с открытым доступом:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/mydomain"
ServerName mydomain.org
ServerAlias www.mydomain.org
ErrorLog "/var/log/mydomain.org-error_log"
CustomLog "/var/log/mydomain.org-access_log" common
</VirtualHost>

Я могу подавать документы из /var/www/mydomain i.e http://mydomain.org/test.php с помощью test.php, содержащего:

<?php echo 'test';

отлично работает.

В bash, с помощью Laravel, установленного через Composer, и просмотра файлов:

# ls /var/www/mydomain/my-laravel-project

.gitattributes  CONTRIBUTING.md artisan         composer.json   phpunit.xml readme.md       vendor
.gitignore      app             bootstrap       composer.lock   public          server.php

Итак, когда я просматриваю:

http://mydomain.org/my-laravel-project/public/

почему мой отчет приложения:

Error in exception handler. 

в браузере - на белом белом экране? Я ожидаю увидеть заставку Laravel.

Кроме того, файлы журналов ничего не обнаруживают.

Ответ 1

Более безопасным вариантом будет изменение группы каталогов хранилища на группу веб-серверов (обычно apache или www-data, но это может различаться между различными операционными системами) и сохранять разрешения по каталогу как 775.

chgrp -R www-data app/storage

Или с chown.

chown -R :www-data app/storage

Затем убедитесь, что права на каталоги 775.

chmod -R 775 app/storage

На веб-сайте Laravel:

Laravel может потребоваться настроить один набор разрешений: папки в приложении/хранилище требуется доступ на запись веб-сервером.

Ответ 2

Laravel 5.2

chmod -R 777 storage

Старые Ларавел chmod 777 app/storage/*

Обратите внимание, что если у вас есть выделенный сервер с разумной блокировкой без учетных записей, отличных от ваших, 777 не должен представлять больше риска для безопасности, чем что-либо еще. Для злоумышленника должна быть какая-то другая уязвимость, чтобы воспользоваться этим, и в этот момент разрешение 777, вероятно, будет спорным в любом случае. Если, однако, вы находитесь на общем сервере с другими пользователями, которым вы не доверяете, вам нужно будет изучить более сложные разрешения или проверить, предоставил ли ваш хостинг-провайдер изоляцию.

Они должны действительно поместить это в документы быстрого запуска и предоставить примеры для различных настроек. Вам также может потребоваться запустить его снова после первой загрузки, поскольку все больше каталогов создаются автоматически. Посмотрите в свои журналы на наличие ошибок.

Также ваш DocumentRoot должен быть/path/to/laravel-project/public

Ответ 3

Я удалил старые сеансы внутри папки app/storage/sessions и дал 775 разрешение app/storage после этого работать как огонь!

chmod -R 775 app/storage

Удачи!

Ответ 4

Победившая группа прошла это долгое время назад, но все же у меня есть еще один совет по поводу "Ошибка в обработчике исключений".

У меня это происходило со мной, когда я запускал "php artisan", что является хорошим способом оценить, работает ли ваша среда в целом.

Я запустил его, и он дал мне эту ошибку, и я не мог определить проблему до тех пор, пока не отредактировал файл artisan в корневом каталоге моего проекта и не добавлю оператор try catch:

try {
    $artisan = Illuminate\Console\Application::start($app);
}
catch (Exception $e)
{
    dd($e->getMessage());
}

В этот момент я наконец увидел просветляющее сообщение:

string(41) "Connection refused [tcp://127.0.0.1:6379]"

который в моем случае был плохой настройкой redis, но в вашем случае это могло быть что угодно.

Я надеюсь, что это поможет кому-то, или, по крайней мере, в следующий раз, когда я получу здесь, я найду свой собственный ответ.

Ответ 5

Самый короткий способ решить это - начать ремесленник с помощью sudo. Это даст мастеру все необходимые разрешения и не вызовет никаких проблем с безопасностью.

поэтому вместо запуска artisan выполните:

$ php artisan serve

попробуйте использовать:

$ sudo php artisan serve 

поэтому вам не придется делать какие-либо изменения в разрешении

Ответ 6

У меня такая же проблема, я просто изменяю разрешение из приложения/хранилища каталога на 775 с помощью командной строки chmod