【发布时间】:2014-01-02 16:34:57
【问题描述】:
我最近刚刚将服务器的 PHP 版本升级到 5.4.22,现在每个使用 PDO 的脚本都不起作用。
我的 PHP 脚本无法运行的示例:
<?php
$dsn = 'mysql:dbname=testDB;host=127.0.0.1';
$user = '[hidden]';
$password = '[hidden]';
try {
$pdo = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
exit;
}
?>
当我运行脚本时,我得到:Fatal error: Class 'PDO' not found,每个创建连接的脚本都会出现同样的错误。
我对 puTTY 进行了检查以检查 PDO 是否存在,结果发现:
root@cpanel [~]# php -m | grep -i pdo
PDO
pdo_mysql
pdo_sqlite
我的 php.ini 有
extension=pdo.so
extension=pdo_sqlite.so
; sqlite was removed by EasyApache v3.22.24 on Sat Dec 14 23:24:10 2013 (PHP v5.4.x incompatibility)
; extension=sqlite.so
extension=pdo_mysql.so
phpinfo(); 在 PHP 文件中声明我在 PHP Version 5.3.10
如何在我的终端 # php -v 说 PHP 5.4.22
所以这真的让我很困惑,为什么我会得到两个版本。
【问题讨论】:
-
@JakeGould 已经读过这个问题,似乎对我的情况没有帮助 =/
-
你看到在 php.ini 中启用了行 extension=pdo.so 吗?
-
嗯,我看到
extension=pdo.so它没有启用写在它旁边,但它就在那里。 -
我的意思是,它是以 ; 开头的吗? ?