PDOException "не удалось найти драйвер" в php

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

php app/console doctrine:schema:create

Появляется следующее сообщение об ошибке:

PDOException "could not find driver"

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

Я попытался посмотреть и google свою проблему, но не смог решить мою проблему. когда я запускаю команду 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
----
----

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

Ответ 1

Надеюсь, что вы запускаете проект в локальном хосте. В папке вашего проекта приложите/настройте файл с именем 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

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

Ответ 2

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

sudo apt-get install php5-gd php5-mysql

и он будет работать

Ответ 3

Вам нужен модуль под названием 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

Ответ 4

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

Ответ 5

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

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

Я разрешаю эту ошибку, указав версию PHP:

php5.6 app/console doctrine:schema:update

Ответ 6

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

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

Ответ 7

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

;extension=php_pdo_pgsql.dll 

раскомментируйте его, затем он появится ниже

extension=php_pdo_pgsql.dll 

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