Laravel не читает файл .env на панели - PullRequest
0 голосов
/ 10 мая 2018

Я загрузил свое приложение Laravel на хост cpanel. Проблема в том, что Laravel не читает содержимое файла .env и показывает мне «К сожалению, похоже, что-то пошло не так». страница (дважды на одной странице) Эта ошибка отображается, потому что программа не может получить переменную APP_KEY. не могу прочитать .env файл вообще. Я немного искал эту проблему, но решения не работали. Я попробовал все это:

  • Команда php artisan cache: очистить
  • 'php artisan config: clear' команда
  • Команда php artisan config: cache
  • изменить разрешение для файла .env (755)
  • выполнить все команды 'composer update', 'composer install', 'composer dump-autoload'
  • Я нигде не использовал функцию env
  • В значениях, хранящихся в файле env, нет пробелов

Но ничего из вышеперечисленного не получилось. Тем не менее, моя программа хорошо работает в локальном (Windows) и нет проблем, но она не работает на сервере (cpanel)

примечание: я понял, что когда я выполняю команду «php artisan config: cache» на сервере, все файлы кэша создаются в папке «bootstrap / cache», за исключением файла config.php Примечание 2: Я загрузил несколько раз по-разному. Однажды все файлы в папке в корне и публичные файлы в папке public_html. и один раз все файлы в папке public_html. Оба не работают

Кто-нибудь знает, где проблема?

за это время я положил все свои файлы приложений в папку public_html

Ответы [ 3 ]

0 голосов
/ 13 мая 2018

Посмотрите файл storage/logs/laravel.log, чтобы получить более точную информацию.

Убедитесь, что функции putenv() и getenv() не отключены В php.ini

0 голосов
/ 24 октября 2018

Вы не должны использовать файл .env для производства, он предназначен только для разработки.

Создание переменных среды для вашего производства (на сервере не .env).

0 голосов
/ 10 мая 2018

Это всегда происходит со мной на новых сайтах, поэтому я обычно запускаю:

chmod 777 storage/ storage/app/ storage/framework/ storage/logs/
chmod 777 storage/ storage/app/ storage/framework/ storage/logs/
chmod 777 storage/framework/cache/ storage/framework/sessions/ storage/framework/views/
chmod 777 bootstrap/cache/
chmod 777 bootstrap/cache/*
chmod 777 storage/logs/laravel.log

Примечание: последний (laravel.log) не существует в первый раз, но тогда он создается.

Вместо 777 вы можете использовать более рекомендуемый вариант ug + rwx, если вы впервые запустите: chgrp -R www-хранилище данных начальная загрузка / кеш chgrp -R www-хранилище данных

где www-data - пользователь веб-сервера, это может быть apache или httpd

...