Ошибка Lumen при использовании миграции мастеров

Я новичок в Lumen и когда пытаюсь использовать:

php artisan migrate 

Я получаю следующую ошибку.

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

Если я изменю «localhost» на «127.0.0.1», я получаю эту ошибку:

 [PDOException] SQLSTATE[HY000] [2002] Connection refused 

Если я использую:

 php artisan migrate --database=Lumen 

Я получил:

 [InvalidArgumentException] Database [Lumen] not configured. 

Вот мой .env файл

 DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=Lumen DB_USERNAME=root DB_PASSWORD=root 

Я читал другие вопросы о переполнении стека и пробовал решения, то есть настраивал PHP-версии и проверял путь к mysql.sock, и все в порядке. Я использую полный путь, и моя версия PHP верна.

Я использую MAMP и имею базу данных под названием «Lumen» (на данный момент нет таблиц).

Создал миграцию с помощью терминала:

 php artisan make:migration --create=items create_items_table 

Я использую службу php artisan (сервер 8000) для просмотра моего проекта, который я могу просмотреть.

 MAMP is on: apache=80 nginx=80 mysql=3306 

Я использовал ту же конфигурацию для моего проекта Laravel, и это работает нормально. Но у laravel есть файл database.php, который содержит все детали внутри него.

Надеюсь, этого достаточно, любая помощь будет очень признательна!

заранее спасибо

EDIT: Это мой файл app.php, остальное остается нетронутым.

 require_once __DIR__.'/../vendor/autoload.php'; Dotenv::load(__DIR__.'/../'); $app = new Laravel\Lumen\Application( realpath(__DIR__.'/../') ); $app->withFacades(); $app->withEloquent(); 

Related of "Ошибка Lumen при использовании миграции мастеров"

Возможно ли, что вы забыли включить переменные dotenv? В файле bootstrap / app.php вы можете включить переменные среды, раскомментировав следующую строку:

 Dotenv::load(__DIR__.'/../'); 

Lumen Документация о базах данных

После долгих раздумий я нашел ответ.

Проблема была в MAMP, сокет pdo для mysql не был в файле php.ini и должен был быть там включен.

 [Pdo_mysql] ; If mysqlnd is used: Number of cache slots for the internal result set cache ; http://php.net/pdo_mysql.cache_size pdo_mysql.cache_size = 2000 ; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. ; http://php.net/pdo_mysql.default-socket pdo_mysql.default_socket= 

В том числе эта линия фиксировала все мои зонды.

К новым парням, которые пытались найти Люмена, после трех печальных часов, я наконец решил эту проблему. Это не ты, это МАМП!

Все это время MAMP не использовал порты по умолчанию 80 и 3306 для сети и mysql. Поэтому нажмите эту кнопку. Это все! И я опубликую это в своем блоге в ближайшее время: D

введите описание изображения здесь