LINUX.ORG.RU

mysql на docker-e

 , , ,


0

1

Настроила докер и на(или в) нем подняла сайт на nginx+php7+mysql. Сайт на yii2. Когда делаю миграцию выводит ошибку

Yii Migration Tool (based on Yii v2.0.9)

Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [1049] Unknown database 'yii2advanced''



настройки такие
'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=127.0.0.1;dbname=dbname',
            'username' => 'root',
            'password' => '',
            'charset' => 'utf8',
            'enableQueryCache' => true,


делаю
mysql -u root -h 127.0.0.1
подключается и даже база нужная там есть. Не пойму в чем дело.

★★

Последнее исправление: gssomi (всего исправлений: 1)

во первыйх у тебя имя баз данных разное, во вторых пыхепе у тебя из контейнера поди коннектится к локалхосту, а локалхост у каждого контейнера свой

Deleted
()
Ответ на: комментарий от melkor217

Вообще нет, но я так и не смогла поднят несколько версии похапе поднять на одном сервере

gssomi ★★
() автор топика
Ответ на: комментарий от gssomi

таак, а mysql -u root -h 127.0.0.1 - ты в контейнере делаешь или на хосте?

Deleted
()
Ответ на: комментарий от gssomi

хотя, нет: показалось предположительно - это PDO может так отписывается для любых драйверов БД

anonymous
()
Ответ на: комментарий от gssomi

несколько версии похапе поднять на одном сервере

Нужно поднять несколько контейнеров с разными версиями похопе, объединить в одну сеть (команда docker network). Можно для конкретно этой задачи использовать docker-compose. Официальные контейнеры php (https://hub.docker.com/_/php/) вполне недурно приготовлены.

По изначальному вопросу сказать ничего не могу, с yii2 и mysql дел стараюсь не иметь. Но вообще идея докера хорошо работает при условии, что один сервис == одно дерево процессов == один контейнер. Иначе у него преимуществ по сравнению с обычным контейнером или виртуалкой вообще не останется.

melkor217 ★★★★★
()
Ответ на: комментарий от gssomi

lxc.
Ну, или неделю в докер вкуривать.
Но, наверное, лучше lxc.

Yustas ★★★★
()

'SQLSTATE[HY000] [1049] Unknown database 'yii2advanced"

а значит коннект то уже закончился и был успешным. Возможно у тебя база создана в schema?

попробуй из пхп выполнить show databases и также в консоли

kiotoze ★★★★
()
Ответ на: комментарий от kiotoze

Благодарю за ваш ответ, но вопрос уже решен. Не знаю каким образом это повлияло, но после перезапуска php-fpm и mysql все заработало. Прошу простить за то, что не поставила галочку в панель «отметить как решенную».

gssomi ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.