Почему Doctrine не может найти драйвер PDO? - PullRequest
13 голосов
/ 17 сентября 2011

Сегодня я попробовал Symfony 2 и попытался немного поиграть с Doctrine.

Но когда я использую команду php app/console doctrine:schema:create в командной строке, она возвращает эту ошибку:

[PDOException]
could not find driver

doctrine:schema:create [--dump-sql] [--em[="..."]]

Мой файл php.ini и очистка phpinfo () показывают, что драйвер PDO загружен. Я также создал небольшой скрипт на чистом PHP для подключения к моей базе данных, используя PDO, и он работал нормально. Нет ошибок, поэтому PDO хорошо установлен и работает.

PHP и MySQL работают на моем компьютере с использованием последней версии EasyPHP.

Что могло пойти не так с Доктриной? Куда мне теперь смотреть?

Ответы [ 5 ]

15 голосов
/ 11 октября 2011

Да, если вы введете php -m в командной строке, в нем должны быть указаны PDO и pdo_mysql.В моем случае он показал только PDO, поэтому не смог найти драйвер MySQL.

Как вы уже прокомментировали, я думаю, это потому, что PHP CLI не может найти подходящий php.ini файл.

10 голосов
/ 17 сентября 2011

Вам необходимо правильно настроить php cli, чтобы загрузить те же расширения, что и версия веб-сервера, настроенная для загрузки.

Вот ссылка , где PHP ищет конфигурациюфайл

9 голосов
/ 31 декабря 2014

sudo apt-get install php5-mysql

сотворит волшебство

2 голосов
/ 12 октября 2015

В командной строке проверьте, есть ли у вас поддержка PDO:

php -m|grep -i pdo

Если нет, найдите поддержку php mysql (Ubuntu):

apt-cache search php5*|grep mysql

И установите ее:

sudo apt-get install php5-mysql

После установки проверьте пакет снова, вы должны увидеть поддержку PDO mysql.

0 голосов
/ 09 января 2019

В моем случае я пытался запустить bin / console из локального терминала, а не из контейнера докера.

Возможно, это поможет другим!

...