Это вопрос, связанный с установкой Laravel. У меня есть общедоступная установка сервера Unix:
<VirtualHost *:80>
ServerAdmin webmaster@mydomain.org
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, т.е. 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.
Более того, файлы журналов тоже ничего не показывают.
/var/log
и посмотреть, что они говорят?app/storage/logs
? И все ли каталоги хранилища доступны для записи?Ответы:
Более безопасным вариантом было бы изменить группу каталогов хранилища на группу веб-серверов (обычно
apache
илиwww-data
, но это может варьироваться в зависимости от разных операционных систем) и сохранить разрешения для каталога как775
.Или с
chown
.Затем убедитесь, что права доступа к каталогу есть
775
.С веб-сайта Laravel :
источник
sudo chown -R _www app/storage
(замените _www на имя вашего сервера Apache, если необходимо)chmod -R g+w app/storage
Laravel 5.2
chmod -R 777 хранилище
Старое приложение Laravel chmod 777 / storage / *
Обратите внимание, что если у вас есть разумно заблокированный выделенный сервер без каких-либо учетных записей пользователей, кроме вашей, 777 не должен представлять большей угрозы безопасности, чем что-либо еще. Чтобы злоумышленник мог воспользоваться этим, должна быть какая-то другая уязвимость, и в этот момент разрешение 777, вероятно, в любом случае является спорным. Однако, если вы находитесь на общем сервере с другими пользователями, которым не доверяете, вам нужно будет изучить более сложные разрешения или проверить, не обеспечил ли уже ваш хостинг-провайдер изоляцию.
Им действительно следует поместить это в документацию по быстрому запуску и предоставить примеры для различных настроек. Возможно, вам также придется запустить его снова после первой загрузки, так как автоматически создается больше каталогов. Поищите в журналах ошибки записи.
Также ваш DocumentRoot должен быть / path / to / laravel-project / public
источник
Я удалил старые сеансы внутри
app/storage/sessions
папки и775
разрешаюapp/storage
после этого работать как огонь!Удачи!
источник
Это уже давно прошло, но все же у меня есть еще один совет относительно «ошибки в обработчике исключений».
Это случилось со мной, когда я запустил «php artisan», и это хороший способ оценить, работает ли ваша среда в целом.
Я запустил его, и это дало мне эту ошибку, и я не мог определить проблему, пока не отредактировал файл artisan в корневом каталоге моего проекта и не добавил оператор try catch:
В этот момент я наконец увидел поучительное сообщение:
что в моем случае было плохой конфигурацией Redis, но в вашем случае может быть что угодно.
Надеюсь, это кому-то поможет, или, по крайней мере, в следующий раз, когда я приеду сюда, я найду свой собственный ответ.
источник
could not find driver
. А потом я узнал, что установилphp-mysql
, аphp7.0-mysql
требовалось. Эта ссылка также помогла мне - digitalocean.com/community/tutorials/...Самый короткий способ решить эту проблему - запустить artisan с помощью sudo. Это предоставит мастеру все необходимые разрешения и не создаст проблем с безопасностью.
поэтому вместо того, чтобы начать подачу ремесленника с:
попробуйте использовать:
Таким образом, вам не нужно вносить какие-либо изменения разрешений
источник
У меня такая же проблема, я просто меняю разрешение из каталога app / storage на 775 с помощью командной строки chmod
источник