2015-08-23 2 views
3

Im используя MAMP для веб-сервера:Laravel 5,1 не может перенести базу данных

Ниже мой код конфигурации/database.php

'mysql' => [ 
      'driver' => 'mysql', 
      'unix_socket' => '/Application/MAMP/tmp/mysql/mysql.sock', 
      'host'  => env('DB_HOST'), 
      'database' => env('DB_DATABASE'), 
      'username' => env('DB_USERNAME'), 
      'password' => env('DB_PASSWORD'), 
      'charset' => 'utf8', 
      'collation' => 'utf8_unicode_ci', 
      'prefix' => '', 
      'strict' => false, 
     ], 

.env

APP_ENV=local 
APP_DEBUG=true 
APP_KEY=dfsfsdffsd 

DB_HOST=localhost 
DB_DATABASE=my_database 
DB_USERNAME=my_db_username 
DB_PASSWORD=my_db_password 

CACHE_DRIVER=file 
SESSION_DRIVER=file 
QUEUE_DRIVER=sync 

MAIL_DRIVER=smtp 
MAIL_HOST=mailtrap.io 
MAIL_PORT=2525 
MAIL_USERNAME=null 
MAIL_PASSWORD=null 
MAIL_ENCRYPTION=null 

Я получил эту ошибку при запуске php artisan migrate:

[PDOException] 
    SQLSTATE[HY000] [2002] No such file or directory 

Что может быть неправильным? спасибо заранее

+0

Вы сделали миграцию? 'php artisan make: migration' – Jaylen

+0

Я запускаю' php artisan migrate' в новой установке laravel для миграции таблицы пользователей –

+0

попробуйте запустить эту команду 'composer dump-autoload' – Jaylen

ответ

2

Сначала попробуйте изменить свою команду к этому

php artisan migrate --env=local 

Если это не работает убедитесь, что MySQL запущен и работает, и убедитесь, что он использует порт по умолчанию 3306.

Кроме того, попробуйте подключиться к MySQL из командной строки, чтобы убедиться, что вы можете подключиться к MySQL. Откройте командную строку, попробуйте подключиться например

mysql -hlocalhost -uroot -p 

и посмотреть, можете ли вы подключиться. Если это не работает, вы можете захотеть изменить localhost к 127.0.0.1 или обновить ваш файл хостов с этой линией

127.0.0.1 localhost 
127.0.0.1 127.0.0.1 

Я хотел бы также добавить эту строку в файл .env

DB_CONNECTION=mysql 

если все выше Не могу сказать, что значение вашего сокета не настроено правильно.

попробуйте изменить значение сокетов из

/Application/MAMP/tmp/mysql/mysql.sock 

в

/Applications/MAMP/tmp/mysql/mysql.sock 

Вы можете рассмотреть вопрос о создании файла php.ini для PHP

открыть файл php.ini и искать pdo_mysql.default_socket и устанавливаются как:

pdo_mysql.default_socket=/Applications/MAMP/tmp/mysql/mysql.sock 
Смежные вопросы