У меня есть странная проблема с миграциями Laravel 4.2, так как я пытался использовать Homestead в качестве среды разработки. Когда я делаю php artisan migrate
я получаю следующее сообщение об ошибке:php artisan migrate игнорирует настройки в локальном каталоге среды для базы данных
[PDOException]
SQLSTATE[HY000] [1045] Access denied for user 'prod'@'localhost' (using password: YES)
Laravel использует настройки базы данных из моей производственной среды, Allthough Laravel имеет правильную среду обнаруженную:
$ php artisan env
Current application environment: local
Соответствующий database.php также находится на месте:
$ cat app/config/local/database.php
<?php
return array(
[...]
'connections' => array(
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'homestead',
'username' => 'homestead',
'password' => 'secret',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => true,
),
[...]
),
);
Неужели кто-нибудь знает, как узнать, где проблема?
Я не знаю и не могу ничего найти в документации относительно .env файл. Обратите внимание, что я говорю о Laravel 4.2 (не 5.2, где ваш путь - это путь), где, согласно документам, создается каталог с соответствующим именем и переопределяет настройки в этих каталогах (см. Https: // laravel. com/docs/4.2/configuration # environment-configuration) – Tom
Если вы не понимаете, игнорируйте '.env' пока. Предоставьте правильное 'username' &' password' в 'database.php' в качестве моего ответа. – smartrahat
Я действительно понимаю, как .env работает. Но такой конфигурации в Laravel 4.2 не существует. Я предоставляю правильное имя пользователя и пароль для базы данных в '/ app/config/local/database.php' (для моей локальной среды разработчиков) и в'/app/config/database.php' для моей рабочей среды. Не имеет смысла изменять настройки в '/ app/config/database.php', так как это нарушит мою производственную среду. Ключевое слово здесь: Почему Laravel игнорирует мои ошибки в '/ app/config/local/database.php'? – Tom