连接未能打开数据库连接:找不到驱动程序

elb*_*bek 5 lamp mysql php

我是 Ubuntu 的新手,我试图运行 LAMP。

我安装了 MySQL 和 PDO 扩展。当我显示 PHP 配置(带有phpinfo())时,它显示:

配置文件(php.ini)路径:/etc/php5/apache2

还在配置输出中看到了mysqlpdo_mysql表。

locate pdo_mysql.so 给予: /usr/lib/php5/20090626+lfs/pdo_mysql.so

locate mysql.so 给予:

/usr/lib/perl5/auto/DBD/mysql/mysql.so
/usr/lib/php5/20090626+lfs/mysql.so
/usr/lib/php5/20090626+lfs/pdo_mysql.so
/usr/lib/pyshared/python2.7/_mysql.so
/usr/lib/python2.7/dist-packages/_mysql.so
Run Code Online (Sandbox Code Playgroud)

php.ini文件中,我启用了这样的扩展:

extension=/usr/lib/php5/20090626+lfs/mysql.so

extension=/usr/lib/php5/20090626+lfs/pdo_mysql.so
Run Code Online (Sandbox Code Playgroud)

但这无济于事

然后我启用

extension=mysql.so
extension=pdo_mysql.so
Run Code Online (Sandbox Code Playgroud)

还是一样,没有结果,

进行任何更改后,我将重新启动 Apache2 service apache2 restart

但是 PHP 仍然无法找到用于打开连接的 PDO。

那么我怎样才能让它工作呢?

Mar*_*ied 1

Ubuntu 什么版本?您确定需要将这些行添加到php.ini?

我有版本 10.03 和 11.10,两者都很相似,因为它们都不在,php.ini,但都在该目录下的目录中,称为conf.d.

conf.d/mysql.ini,我有:

extension=mysql.so
Run Code Online (Sandbox Code Playgroud)

conf.d/pdo.ini,我有:

extension=pdo.so
Run Code Online (Sandbox Code Playgroud)

conf.d/pdo_mysql.ini,我有:

extension=pdo_mysql.so
Run Code Online (Sandbox Code Playgroud)

我没有最新版本,也没有使用任何特殊的 LAMP 堆栈,只是单独安装的标准应用程序,如果这有什么区别的话。但我从来没有遇到过任何问题,也从来不需要显式安装我记得的 PDO。