myks92
@myks92
Нашёл решение — пометь вопрос ответом!

Ошибка. Как сделать миграцию в yii2?

Раньше работало, а сейчас выдаёт ошибки. Как понял что проблема в подключении к базе. Скажите где рыть ошибку и что не так) Миграции делаю на localhost

Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [2002] No such file or directory'

in /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/db/Connection.php:597

Stack trace:
#0 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/db/Connection.php(943): yii\db\Connection->open()
#1 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/db/Connection.php(930): yii\db\Connection->getMasterPdo()
#2 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/db/Command.php(243): yii\db\Connection->getSlavePdo()
#3 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/db/Command.php(1062): yii\db\Command->prepare(true)
#4 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/db/Command.php(386): yii\db\Command->queryInternal('fetchAll', NULL)
#5 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/db/mysql/Schema.php(320): yii\db\Command->queryAll()
#6 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/db/mysql/Schema.php(111): yii\db\mysql\Schema->findColumns(Object(yii\db\TableSchema))
#7 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/db/Schema.php(662): yii\db\mysql\Schema->loadTableSchema('migration')
#8 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/db/Schema.php(173): yii\db\Schema->getTableMetadata('{{%migration}}', 'schema', true)
#9 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/console/controllers/MigrateController.php(204): yii\db\Schema->getTableSchema('{{%migration}}', true)
#10 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(875): yii\console\controllers\MigrateController->getMigrationHistory(NULL)
#11 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(166): yii\console\controllers\BaseMigrateController->getNewMigrations()
#12 [internal function]: yii\console\controllers\BaseMigrateController->actionUp(0)
#13 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)
#14 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/base/Controller.php(157): yii\base\InlineAction->runWithParams(Array)
#15 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/console/Controller.php(144): yii\base\Controller->runAction('', Array)
#16 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/base/Module.php(528): yii\console\Controller->runAction('', Array)
#17 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('migrate', Array)
#18 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction('migrate', Array)
#19 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/vendor/yiisoft/yii2/base/Application.php(386): yii\console\Application->handleRequest(Object(yii\console\Request))
#20 /Users/maksimvorozcov/.bitnami/stackman/machines/xampp/volumes/root/htdocs/crm-sd/yii(31): yii\base\Application->run()
#21 {main}
  • Вопрос задан
  • 541 просмотр
Решения вопроса 1
myks92
@myks92 Автор вопроса, куратор тега Yii
Нашёл решение — пометь вопрос ответом!
- root обычно это root, но на всякий случай проверьте есть ли у него права на базу crm
- каждый root из списка это разные пользователи, т.е. root@localhost и root@127.0.0.1 это разные пользователи и соответственно у них могут быть разные права на БД, разные пароли и т.д.
- попробуйте с каждым подключиться
- проверьте находится ли сервер MySQL на том же сервере где и ваш вебсервер с php (банально, но все же). Это тот самый MySQL сервер к которому вы пытаетесь подключиться или может быть ваша БД crm где-то в другом месте крутиться
- проверьте наличие файлов базы данных crm на сервере
- настройки allow local access only тут вообще не причем
- проблема может быть в использовании сокета для процесса MySQL, попробуйте в настройках сервера MySQL вместо сокета использовать порт 3306
- xampp это лучшее решение(apache+php+mysql) для разработки на Windows которое я встречал(а встречал я их почти все))), но если вы будете разбираться в том как настраиваются и связываются компоненты, то для вас вопрос будет не в выборе готового решения
- с какой учетной записью вы подключаетесь к phpMyAdmin (хост(url), логин, пароль)
- попробуйте подключиться к mysql из консоли (удаленно и локально), какие учетные записи могут подключиться
- и в завершении проверьте квоты на место на диске для БД crm. Или вообще есть ли еще свободное месте на диске.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Чаще всего помогает снести "xampp" и пользоваться "openServer". Но если у Вас еще и mac - тогда добро пожаловать в клуб прогеров-мазохистов. Я бы подарил какому-нибудь дизайнеру (для кого оно и делалось) и купил, что-то получше. Ну да это лирика.
Копайте настройки mysql, особенно allow local access only
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы