PDOException «не удалось найти драйвер» в php - PullRequest
13 голосов
/ 16 февраля 2012

Я установил Lampp в моей системе Linux и изучаю symfony2, пытаясь создать схему с помощью команды symfony2

php app/console doctrine:schema:create

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

PDOException “could not find driver”

Я также раскомментировал эту строку extension=php_pdo_mysql.dll в файле php.ini

Я попытался посмотреть и погуглить мою проблему, но не смог решить мою проблему.когда я запускаю команду php -m, я получаю следующий результат: -

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/mysql.so' - /usr/lib/php5/20090626+lfs/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/mysqli.so' - /usr/lib/php5/20090626+lfs/mysqli.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/pdo_mysql.so' - /usr/lib/php5/20090626+lfs/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
date
dba
dom
ereg
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mbstring
mhash
openssl
pcntl
pcre
PDO
----
----

Есть ли способ устранить эту проблему?

Ответы [ 7 ]

11 голосов
/ 19 февраля 2015

В Ubuntu напишите в консоли

sudo apt-get install php5-gd php5-mysql

и все будет работать

8 голосов
/ 17 февраля 2012

Надеюсь, вы запускаете свой проект в localhost.В папке вашего проекта app / config файл с именем parameters.ini, убедитесь, что ваша конфигурация соединения с базой данных Mysql правильная.Если вы используете mysql См. database_driver=pdo_mysql является его драйвером.

Ниже приведен пример.

database_driver   = pdo_mysql
    database_host     = localhost
    database_port     =
    database_name     = databasename
    database_user     = msqlusername
    database_password = mysqlpassword//if not make blank

    mailer_transport  = smtp
    mailer_host       = localhost
    mailer_user       =
    mailer_password   =

    locale            = en

    secret            = ThisTokenIsNotSoSecretChangeIt

Надеюсь, это поможет вам.

5 голосов
/ 16 февраля 2012

Вам нужен модуль с именем pdo_mysql.

Ищите в выводе phpinfo() следующее,

pdo_mysql => Драйвер PDO для MySQL, версия клиентской библиотеки => 5.1.44

Чтобы установить pdo_mysql, вам нужно сделать следующее:

 pecl install pdo
 pecl install pdo_mysql

и добавьте в файл php.ini следующее:

extension=pdo.so
extension=pdo_mysql.so
1 голос
/ 17 ноября 2017

На моем сервере установлены две версии PHP PHP 5.6 и PHP 7

Когда я запускаю команду php app/console doctrine:schema:update У меня появляется ошибка: [PDOException] could not find driver

Я устраняю эту ошибку с помощьюуказав версию PHP:

php5.6 app/console doctrine:schema:update
1 голос
/ 26 февраля 2016

brew install php70-pdo-pgsql в случае, если вы установили php7 на mac с помощью brew и измените версию php в соответствии с установленной вами.

0 голосов
/ 24 июня 2016

если вы используете XAMPP, в строке файла php.ini № 897 (зависит от версии),

;extension=php_pdo_pgsql.dll 

раскомментируйте его, затем оно будет выглядеть так, как показано ниже

extension=php_pdo_pgsql.dll 

в строке файла php.ini № 897, затем перезапустите XAMPP.

0 голосов
/ 16 февраля 2012

Похоже, что в вашей установке отсутствуют файлы .so, необходимые для реализации подключения mysql.Если вы используете систему управления пакетами для установки PHP, убедитесь, что вы установили все необходимые подмодули (в этом случае я думаю, что вам понадобится mysql-dev и различные модули PHP PDO), хотя такие зависимости должны иметьбыл решен для вас менеджером пакетов.

Если вы не прошли через менеджер пакетов, вам придется скомпилировать необходимые .so файлы из исходного кода.

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