在 Windows Server 2012 R2 和 PHP 5.6.4 上找不到 PDO

PDO Not Found on Windows Server 2012 R2 and PHP 5.6.4

我正在尝试在 Windows Server 2102 R2 运行 Apache 2.4.10 和 PHP 5.6.4 上使用 PDO 从脚本进行连接并得到错误 "Class 'PDO' not found" 尝试连接时。

这里是调用连接的代码

ini_set('display_errors', 'On');
require_once('c:/path/site_inc.php');

switch($_REQUEST['action']){
    case 'getList':
        getList();
        break;
}
function getList(){
    $dbh = dbConnect();
    $pstmt = $dbh->prepare("SELECT * FROM announcements WHERE user=? ORDER BY startDate");
    $pstmt->execute(array($_COOKIE['appsuname']));
    echo json_encode($pstmt->fetchAll(PD0::FETCH_ASSOC));
}

function dbConnect(){
    $DBH = new PDO(ccappConfig::mysqlDSN, ccappConfig::mysql_user, ccappConfig::mysql_pword);
    return $DBH;
}

我已经通过以下方式进行测试以确保 PDO 可用

if(class_exists('PDO')){
    echo "PDO Installed<br />";
} else {
    echo "PDO NOT Installed<br />";
}
phpinfo();

此 returns "PDO Installed" 和 phpinfo() 确认 pdo_mysql 与 mysql(被淘汰)和 mysqli 一起安装。

我不确定为什么会产生这个错误,而且 php_pdo.dll 已经从 5.3 中删除 PHP 所以我不相信我错过了 driver 而且我也不要相信这是因为 phpinfo() 在 PDO 标题下返回 mysql 和 sqlite drivers 都已启用。

我在这里遗漏了什么,或者我遗漏的代码有什么问题吗?

我发现这里有错误

function getList(){
$dbh = dbConnect();
$pstmt = $dbh->prepare("SELECT * FROM announcements WHERE user=? ORDER BY startDate");
$pstmt->execute(array($_COOKIE['appsuname']));
echo json_encode($pstmt->fetchAll(PD0::FETCH_ASSOC));

}

上面的代码应该是

function getList(){
$dbh = dbConnect();
$pstmt = $dbh->prepare("SELECT * FROM announcements WHERE user=? ORDER BY startDate");
$pstmt->execute(array($_COOKIE['appsuname']));
echo json_encode($pstmt->fetchAll(PDO::FETCH_ASSOC));

}

第一个块是 0(零)而不是 O。