2015-04-05 2 views
0

Я только что создал новое приложение Laravel 5 и написал некоторые миграции. Всякий раз, когда я попытался запустить php artisan migrate, я столкнулся со следующей ошибкойArtisan migrate in Laravel 5 throwing PDOException

[PDOException]
SQLSTATE [HY000] [2002] Не удается подключиться к локальному серверу MySQL через гнездо "
/вар/Lib/MySQL/mysql.sock»(13)

Моя конфигурация базы данных является правильным

'mysql' => [ 
     'driver' => 'mysql', 
     'host'  => env('DB_HOST', 'localhost'), //I also tried 127.0.0.1 
     'database' => env('DB_DATABASE', 'mydb'), 
     'username' => env('DB_USERNAME', 'myusername'), 
     'password' => env('DB_PASSWORD', 'mypassword'), 
     'charset' => 'utf8', 
     'collation' => 'utf8_unicode_ci', 
     'prefix' => '', 
     'strict' => false, 
    ], 

Я использую стек LAMP, может ли это быть проблемой для Laravel 5?

ответ

1

Вы можете изменить базу данных конфигурации (database.php) этой

'mysql' => [ 
    'driver' => 'mysql', 
    'host'  => 'localhost, 
    'database' => 'YOUR DB NAME', 
    'username' => 'YOUR DB USERNAME', 
    'password' => 'YOUR DB PASSWORD, 
    'charset' => 'utf8', 
    'collation' => 'utf8_unicode_ci', 
    'prefix' => '', 
    'strict' => false, 
], 

Или вы можете установить вверх .env файл

Каждый Laravel приложение теперь поставляется с файлом по умолчанию .env.example, который в данный момент выглядит следующим образом:

APP_ENV=local 
APP_KEY=SomeRandomString 
DB_DATABASE=your_db_name 
DB_USERNAME=your_username 
DB_PASSWORD=your_db_password 

Для того, чтобы использовать этот файл, просто скопируйте его и назовите имя y (новый файл) .env и введите данные своей базы данных.

Файл .env должен быть в корневой папке, например .env.example.

Примечание: - не переименовать файл .env.example .... всегда создают новый .env

env('DB_DATABASE', 'default_value') принимает значение DB_DATABASE из .env файла, если не найден выбирает «DEFAULT_VALUE» по умолчанию.

+0

Это решило мою проблему –

0

Поскольку конфигурация использует env(), вам необходимо установить значения в файле .env, найденном в корне вашего проекта. Значения, которые вы передаете как второй параметр, являются значениями по умолчанию, которые будут использоваться, только если конкретный ключ не найден в файле .env. Таким образом, база данных часть .env будет выглядеть следующим образом:

DB_HOST=localhost 
DB_DATABASE=mydb 
DB_USERNAME=myusername 
DB_PASSWORD=mypassword 

Вы можете прочитать больше о том, как Laravel обрабатывает окружающую среды в Configuration Docs.

Смежные вопросы