Я исправил эту проблему на своем Debian 6. Обычно я только что установил php5-commonпакет. После установки вам необходимо перезапустить ваш веб-сервер (apache или nginx в зависимости от того, какой вы установили). Затем я просто делаю lsofв apache процесс id ( lsof -p process_id) следующим образом:
sudo lsof -p 1399 #replace 1399 by your apache process id
apache2 1399 root mem REG 254,2 80352 227236 /usr/lib/php5/20090626/xmlrpc.so
apache2 1399 root mem REG 254,2 166496 227235 /usr/lib/php5/20090626/suhosin.so
apache2 1399 root mem REG 254,2 31120 227233 /usr/lib/php5/20090626/pdo_mysql.so
apache2 1399 root mem REG 254,2 100776 227216 /usr/lib/php5/20090626/pdo.so
apache2 1399 root mem REG 254,2 135864 227232 /usr/lib/php5/20090626/mysqli.so
Как вы можете видеть выше, модули устанавливаются по пути к файлу, который не известен или определяется общим путем к библиотеке: / usr/lib/php5/20090626/. Для вашей установки он может отличаться, но только путь pdo_mysql.so, pdo.so, mysqli.so. Вот почему Drupal или любой другой движок php не может найти библиотеку и показывает эту ошибку:PDOException: could not find driver
Я просто не знаю , почему он установлен на таком странном пути, для меня это просто ошибка в библиотеке сценария установки пакета в Debian 6. Я решил проблему, создав символический для всех файлов в соответствии /usr/lib/php5/20090626/с
/usr/lib/php5/этой командой:
ln -s /usr/lib/php5/20090626/* /usr/lib/php5/
php.ini' file and uncommentрасширении = php_pdo_mysql.dll. The path to yourphp.ini` файл можно найти, посмотрев на ваш phpinfo ().