Как включить PDO_MYSQL для CLI? - PullRequest
1 голос
/ 14 марта 2010

Я пытаюсь изучить фреймворк Symfony для PHP, но у меня возникают проблемы с версией php для командной строки.

При попытке создать таблицы базы данных:

./symfony doctrine:insert-sql

Я получаю следующую ошибку:

Couldn't locate driver named mysql

Это только проблема с версией php для командной строки. У меня было учение, работающее без проблем.

После быстрого прочтения проблемы, кажется, мне нужно включить PDO_MYSQL для установки CLI в php. Я посмотрел в файле php.ini, и, похоже, для него нет соответствующей записи.

Есть ли какой-нибудь простой способ заставить версию CLI использовать точно такую ​​же конфигурацию моей конфигурации LAMPP, чтобы минимизировать сложности в будущем?

Любой совет будет принят с благодарностью.

Спасибо.

Ответы [ 3 ]

4 голосов
/ 27 сентября 2011

Я использую ubuntu + mysql (индивидуальная установка без лампы) и php cli через apt:

sudo apt-get install php5-cli

PDO установлен по умолчаниюно соответствующий драйвер БД (mysql в моем случае) не был установлен.Это можно проверить из командной строки php --ri pdo, что приводит к:

PDO support => enabled
PDO drivers => [ blank ]

Чтобы исправить это для mysql, установите модуль php5-mysql через

sudo apt-get install php5-mysql

Очевидно, сделайте это после установки php5-cli.Если вы используете другую базу данных (например, postgres или odbc), найдите соответствующее имя модуля с помощью

sudo apt-cache search php5

Извините, вставлено из мой ответ здесь .

0 голосов
/ 14 августа 2017

Я думаю, что эти ответы немного старые. Правильный ответ: sudo apt-get install php-mysql. Выполнение php5-mysql приведет к тому, что пакет не будет найден, особенно на машинах, на которых установлен php7-cli. Как уже упоминалось, проблема в том, что, хотя поддержка PDO включена, драйвер не установлен. Я просто решил это, выполнив приведенную выше команду.

0 голосов
/ 15 марта 2010

проверьте php.ini в папке apache и скопируйте информацию о PDO в php.ini в папке php.

В моей конфигурации lampp у меня просто есть расширение = pdo.so в php.ini

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...