Как исправить SQLSTATE [HY000] [2002] Отказ в соединении (SQL: выбрать * из `категорий`, где` enable` = 1) в Laradock? - PullRequest
1 голос
/ 21 ноября 2019

Я пытаюсь построить laravel на докере, но когда я попытался запустить php artisan migrate, я получил ошибку, подобную этой:

SQLSTATE [HY000] [2002] Нет такого файла или каталога(SQL: выберите * из categories, где enable = 1)

Ошибка на выходе

Ошибка на выходе

Это мой Dockerfile

FROM php:7.2-fpm-alpine
RUN docker-php-ext-install pdo pdo_mysql

Это мой docker-compose.yml

version: '3'

networks:
  laravel:

services:
  nginx:
    image: nginx:stable-alpine
    container_name: nginx
    ports:
      - "8080:80"
    volumes:
      - ./src:/var/www
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - php
      - mysql
    networks:
      - laravel

  mysql:
    image: mysql:5.7.22
    container_name: mysql
    restart: unless-stopped
    tty: true
    ports:
      - "3306:3306"
    environment:
      MYSQL_DATABASE: cilsy
      MYSQL_USER: cilsy
      MYSQL_PASSWORD: secret
      MYSQL_ROOT_PASSWORD: secret
      SERVICE_TAGS: dev
      SERVICE_NAME: mysql
    networks:
      - laravel

  php:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: php
    volumes:
      - ./src:/var/www
    ports:
      - "9000:9000"
    networks:
      - laravel

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

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=cilsy
DB_USERNAME=cilsy
DB_PASSWORD=secret

У меня установлен композитор php-common php-mbstring php-xml php-zip php-json libmcrypt-dev php-curl.

Не знаю, как решить эту проблему, есть идеи?

Ответы [ 4 ]

0 голосов
/ 21 ноября 2019

Откройте файл .env и измените его DB_HOST=localhost на DB_HOST=127.0.0.1

  • DB_USERNAME следует установить на root, если у вас нет имени пользователя по умолчанию во время установки.
  • DB_PASSWORD Если в базе данных не установлен пароль, просто очистите его

После редактирования .env необходимо очистить кеш: php artisan config:cache

0 голосов
/ 21 ноября 2019

Можете ли вы запустить php artisan config:clear и перезапустить сервер

0 голосов
/ 21 ноября 2019

попробуйте обновить XAMPP или любой другой сервер, использующий последнюю версию PHP.

Я получил ту же ошибку, когда переместил свой проект на mac Я наконец все перепробовал. Я удаляю XAMPP и устанавливаю XAMPP с последней версией PHP, обновленная версия,

Надеюсь, это поможет.

0 голосов
/ 21 ноября 2019

Измените "DB_HOST" в файле .env с "localhost" на "127.0.0.1"

У меня была точно такая же проблема. Ни одно из вышеперечисленных решений не помогло мне. Я решил проблему, изменив "host" в файле /app/config/database.php с "localhost" на "127.0.0.1".

...