已加载 PDO 和 pdo_mysql 但未找到类

Posted

技术标签:

【中文标题】已加载 PDO 和 pdo_mysql 但未找到类【英文标题】:PDO and pdo_mysql loaded but class not found 【发布时间】:2011-10-30 20:56:06 【问题描述】:

我刚刚从共享主机转移到 VPS 主机,所以进行设置。我已经安装了 PDO 和 pdo_mysql 模块。显示它们已安装。我也重启了apache服务器。

root@li339-83:~# php -m | grep -i pdo
PDO
pdo_mysql

以下来自phpinfo。

额外的.ini文件解析/etc/php5/apache2/conf.d/mysql.ini, /etc/php5/apache2/conf.d/mysqli.ini, /etc/php5/apache2/conf.d/pdo .ini, /etc/php5/apache2/conf.d/pdo_mysql.ini, /etc/php5/apache2/conf.d/suhosin.ini

安装后会自动添加扩展(如下所示)

扩展=pdo_mysql.so; //这是在pdo_mysql.ini中

扩展=pdo.so; //这是在pdo.ini中

但是,我无法加载我的网页。以下是错误

致命错误:在第 39 行的 /var/www/boot.php 中找不到类“PDO”

【问题讨论】:

命令行PHP不一定等于通过web服务器的PHP。当您在网页中尝试 phpinfo() 并通过 http:// 调用它时,您会看到什么? 【参考方案1】:

PHP.ini 文件 中,我们应该修改extension_dir 指令选项。这应该指向包含 pdo.so 和 pdo_mysql.so 文件的目录。

extension_dir = "/usr/lib/php5"

要查找这些文件所在的目录,请使用以下 unix 命令,

find / -name pdo.so

重启apache,问题就解决了。

【讨论】:

以上是关于已加载 PDO 和 pdo_mysql 但未找到类的主要内容,如果未能解决你的问题,请参考以下文章

关于安装PHP补装PDO与PDO_MYSQL操作

php添加pdo_mysql.so的扩展

PDO 支持多个查询(PDO_MYSQL、PDO_MYSQLND)

php中的Mysqlnd、PDO和PDO_Mysql扩展有啥区别?

PDO PDO_MYSQL MYSQLI MYSQL 的区别

pdo_mysql安装