Laravel Forge обнаруживает переменные среды только в 3 из 4 развернутых сайтов

все они настроены одинаково.

среда определенно настроена на производство.

учетные данные базы данных вообще не читаются — он хочет использовать пароль @localhost: NO по умолчанию.

я поставил

'mysql' => array(
'driver'    => 'mysql',
'host'      => getenv('DB_HOST'),
'database'  => getenv('DB_NAME'),
'username'  => getenv('DB_USERNAME'),
'password'  => getenv('DB_PASSWORD'),
'charset'   => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix'    => '',
),

на всех 4 сайтах app / config / database.php, и я установил соответствующие переменные окружения в forge. я попытался оставить поле среды пустым, а также набрать «производство». Я также попытался использовать $ _ENV [‘environmentvariable’] в database.php.

это дает мне другую ошибку неопределенного индекса DB_HOST. так ясно, что env vars не читаются.

Я снял все и заново создал репо и сервер Laravel много раз. все 3 других сайта настроены одинаково. он обнаруживает среду в начальной загрузке

$env = $app->detectEnvironment(function()
{
return getenv('ENV') ?: 'development';
});

Я ценю любую помощь, ребята. это прекрасно работает на усадьбе, кстати.

редактировать: я могу SSH в Forge и делать все, что я хочу, на любом из сайтов или баз данных, за исключением одной проблемы, любая команда php artisan завершается неудачно с «Доступ запрещен», @localhost пароль: НЕТ, даже если я запустите его с —env = «production».

1

Решение

Я не совсем уверен, используете ли вы .env файлы в корне для указания различных переменных среды, но после того, как я сам прошел через это, я понял, что когда среда локальна, она читает «.env.local.php», когда среда ‘production’, он хочет ‘.env.php’.

Это в документах, но я забываю почти каждый раз Я надеюсь, что это поможет. 🙂

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector