Я обновил свое приложение Mamp Pro до 6.2, и все работает хорошо. Мой Symfony работает с базой данных, так что все в порядке.
в файле env я использую этот параметр:
DATABASE_URL=mysql://root:root@localhost/mypage
Теперь проблема в том, что в консоли я хочу сделать миграцию, а это уже не работает
php bin/console doctrine:migrations:diff
я получаю ошибку
Исключение в драйвере: SQLSTATE[HY000] [2002] Нет такого файла или каталог
Отвечает ли это на ваш вопрос? Соединение с MySQL не работает: 2002 Нет такого файла или каталога
@yivi нет, к сожалению, нет, я уже пробовал решения на странице, но они у меня не работают. Я в полном отчаянии. Я не понимаю
@johnSmith проверил это, но это не помогает
Довольно глупый вопрос, но вы уверены, что ваш сервер MySQL работает? Можно ли подключиться через cli tool (mysql -uroot -proot mypage
)?
Поделитесь, пожалуйста, подробностями — если Symfony работает нормально, но генерация миграций не работает, в чем разница в конфигурации?
@NicoHaase Где я могу проверить эту разницу. Я сделал настройки sql в файле .env
@dbrumann сервер mysql работает, мое приложение Symfony работает, все в порядке, я могу войти в систему и все такое. Единственное, что я не могу сделать миграцию в консоли
После долгих исследований я наконец нашел решение:
PHP-версия терминала не соответствует php-версии MAMP. Мне пришлось использовать версию mamp php вместо версии php osx по умолчанию.
1. Найдите свою версию php osx с помощью:
какой php
Результат должен быть:
/USR/локальные/бен/php
2. Сделайте резервную копию (переместите) исходный двоичный файл php:
sudo mv /usr/local/bin/php /usr/local/bin/php.bak
3. Создайте символическую ссылку:
sudo ln -s /Applications/MAMP/bin/php/php7.4.12/bin/php/usr/local/bin/php
4. Запустите новую версию php:
php -v
иногда может помочь удаление кеша
sudo rm -rf var/cache/*
из каталога проекта