все они настроены одинаково.
среда определенно настроена на производство.
учетные данные базы данных вообще не читаются — он хочет использовать пароль @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».
Я не совсем уверен, используете ли вы .env файлы в корне для указания различных переменных среды, но после того, как я сам прошел через это, я понял, что когда среда локальна, она читает «.env.local.php», когда среда ‘production’, он хочет ‘.env.php’.
Это в документах, но я забываю почти каждый раз Я надеюсь, что это поможет. 🙂
Других решений пока нет …