PDOException «не удалось найти драйвер» - PullRequest
258 голосов
/ 18 мая 2010

Я только что установил Debian Lenny с Apache, MySQL и PHP и получаю исключение PDOException could not find driver.

Это конкретная строка кода, на которую она ссылается:

$dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS)

DB_HOST, DB_NAME, DB_USER и DB_PASS - константы, которые я определил. Он отлично работает на рабочем сервере (и на моей предыдущей установке Ubuntu Server).

Это как-то связано с моей установкой PHP?

Поиск в Интернете не помог, все, что я получаю, это обмен экспертами и примеры, но без решений.

Ответы [ 37 ]

0 голосов
/ 19 октября 2016

Если вы используете sqlite для тестирования, вам понадобится php sqlite pdo drive. Вы можете установить их, как показано ниже.

Для Ubuntu 14.04

sudo apt-get install php5-sqlite
sudo service apache2 restart

В Ubuntu 16.04 нет php5-sqlite

sudo apt-get install php7.0-sqlite
sudo service apache2 restart
0 голосов
/ 27 апреля 2015

Я решил эту проблему, включив php_pdo_mysql.ddl в «Информационная служба IIS -> Расширение PHP».

0 голосов
/ 27 мая 2015

В моем случае (Windows XP + Apache2.2 + PHP 5.4.31) я изменил PHPIniDir в httpd.conf, чтобы обойти эту проблему:

от:

"C:\php5\" 

до:

"C:/php5/"
0 голосов
/ 21 июня 2019

У меня была такая же проблема, потому что я забыл войти в свою виртуальную машину. Если я зайду в свой локальный каталог, как это:

cd /www/homestead/my_project
php artisan migrate

эта ошибка появится. Но это работает на моей виртуальной машине

cd ~/homestead
vagrant ssh   
cd /www/homestead/my_project
php artisan migrate
0 голосов
/ 28 февраля 2017

для Linux Mint

У меня была такая же проблема при использовании PhpBrew (5.5.9 / 7.0.14) и попытке создать соединение PDO.

После того, как я попробовал большинство решений в этом посте, я сделал следующее:

  1. Питание от PhpBrew

  2. Выполнено sudo apt-get install php7.0 (Linux Mint 17.2 / PHP7.0.16) - установлена ​​свежая версия php

0 голосов
/ 04 июля 2019

Проверьте, доступен ли модуль с php -m | grep pdo_mysql.

Если нет, для PHP 7.2 вы можете установить соответствующий пакет с помощью sudo apt install php7.2-mysql.

Используйте аналогичную команду в других версиях PHP и менеджерах пакетов.

0 голосов
/ 07 февраля 2016

Удалите точку с запятой перед ; расширение = php_pdo_mysql.dll в php.ini и сохраните. Не забудьте перезапустить xampp Apache и Mysql.

...