Ответ 1
Вам нужно правильно настроить ваш php cli, чтобы загрузить те же расширения, которые настроена для загрузки версии веб-сервера.
Вот ссылка , где PHP ищет файл конфигурации
Я пробовал Symfony 2 сегодня, и я попытался немного поиграть с Doctrine.
Но когда я использую команду php app/console doctrine:schema:create
в командной строке, она возвращает эту ошибку:
[PDOException]
could not find driver
doctrine:schema:create [--dump-sql] [--em[="..."]]
Мой файл php.ini и phpinfo() показывают, что драйвер PDO загружен. Я также создал немного script в чистом PHP для подключения к моей базе данных с использованием PDO, и он отлично работал. Нет ошибок, поэтому PDO хорошо установлен и работает.
PHP и MySQL работают на моем компьютере, используя последнюю версию EasyPHP.
Что могло бы пойти не так с Доктриной? Где я должен смотреть сейчас?
Вам нужно правильно настроить ваш php cli, чтобы загрузить те же расширения, которые настроена для загрузки версии веб-сервера.
Вот ссылка , где PHP ищет файл конфигурации
Да, если вы введете php -m
в командной строке, он должен указать как PDO
, так и pdo_mysql
. В моем случае он показал только PDO
, поэтому он не смог найти драйвер MySQL.
Как вы уже прокомментировали, я думаю, потому что PHP CLI не может найти подходящий файл php.ini
.
sudo apt-get install php5-mysql
сделает волшебство
В командной строке проверьте наличие поддержки PDO:
php -m|grep -i pdo
Если нет, найдите поддержку php mysql (Ubuntu):
apt-cache search php5*|grep mysql
И установите его:
sudo apt-get install php5-mysql
После повторной установки проверки packagem вы должны увидеть поддержку PDO mysql.
В моем случае я попытался запустить bin/console из локального терминала, а не из контейнера докера.
Может быть, это поможет другим!