已加载 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 但未找到类的主要内容,如果未能解决你的问题,请参考以下文章
PDO 支持多个查询(PDO_MYSQL、PDO_MYSQLND)
php中的Mysqlnd、PDO和PDO_Mysql扩展有啥区别?