Подключение mysql symfony + докер

Я использую докер для разработки проекта symfony, и у меня проблема с mysql. Вот моя конфигурация в моем .env symfony:

DATABASE_URL=mysql://bpp:[email protected]:3306/bdd

когда я запускаю команду php bin/console d:s:u --force, база данных хорошо обновляется. К минусам, когда я хочу зарегистрировать форму, у меня возникает ошибка подключения к symfony.

ошибка sf4

Вот мой докер конфигурации:

version: '3.7'
services:
  apache:
    build: .docker/apache
    container_name: bpp_apache
    ports:
      - "80:80"
    volumes:
      - .docker/config/vhosts:/etc/apache2/sites-enabled
      - ${SYMFONY_APP}:/home/wwwroot/bpp
    depends_on:
      - php
  mysql:
    image: mysql:8
    container_name: bpp_mysql
    volumes:
      - ./.docker/data/db:/var/lib/mysql
    command:
      - "--default-authentication-plugin=mysql_native_password"
      - "--lower_case_table_names=1"
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
    ports:
      - "3306:3306"
  php:
    build: .docker/php
    container_name: bpp_php
    volumes:
      - ${SYMFONY_APP}:/home/wwwroot/bpp
    depends_on:
      - mysql
    links:
      - mysql
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: bpp_phpmyadmin
    environment:
      PMA_HOST: mysql
      PMA_PORT: 3306
    ports:
      - "8080:80"

Спасибо за помощь.

Прочитать это inanzzz.com/index.php/post/su76/…

BentCoder 14.05.2019 21:29
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
233
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Измените конфигурацию .env для URL-адреса mysql. от

DATABASE_URL=mysql://bpp:[email protected]:3306/bdd

к

DATABASE_URL=mysql://bpp:bpp@mysql:3306/bdd

Причина кроется в самом докере. Вы подключаете две услуги: PHP и MySql, которые работают на разных IP-адресах внутри сети докеров. Каждый раз, когда вы запускаете файл докера, вы запускаете 3 контейнера:

  1. Apache — IP-адрес 1
  2. PHP — IP-адрес 2
  3. MySql — IP-адрес 3

И служба MySql не находится по адресу 127.0.0.1. Оставьте это встроенному DNS-серверу.

с DATABASE_URL=mysql://bpp:bpp@mysql:3306/bdd работает но против php bin/console команда d:s:u --force уже не работает

CHRISCOM 14.05.2019 14:35

В драйвере возникло исключение: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Höte inconnu.

CHRISCOM 14.05.2019 14:39

Мне кажется, что с URL все в порядке. Попробуйте написать еще раз вручную, возможно, в строке есть символ, отличный от UTF.

Dilyan Trayanov 14.05.2019 14:45

Хм, попробуйте использовать "bpp_mysql" вместо "mysql" или просто удалите имя контейнера из файла докеров.

Dilyan Trayanov 14.05.2019 14:49

та же проблема с bpp_mysql или удалить имя контейнера

CHRISCOM 14.05.2019 14:59

Удалите ссылки - mysql из контейнера php, и он должен работать

Dilyan Trayanov 14.05.2019 15:05

Другие вопросы по теме