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.