【发布时间】:2010-11-29 00:09:14
【问题描述】:
我正在尝试使用 PDO 连接到我的 oracle 数据库,但我收到 Class PDO not found 错误。我检查了 PDO 是否已启用,并且看起来如此。我仍然无法追踪我收到此错误的原因。这是我的配置命令,
cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack"
"--with-snapshot-template=d:\php-sdk\snap_5_2\vc6\x86\template"
"--with-php-build=d:\php-sdk\snap_5_2\vc6\x86\php_build"
"--with-pdo-oci=D:\php-sdk\oracle\instantclient10\sdk,shared"
"--with-oci8=D:\php-sdk\oracle\instantclient10\sdk,shared"
PHP 版本:5.2.8 甲骨文:10.2
这是我用来连接数据库的代码。
try{
$conn = new PDO("oci:dbname=".$oc_db,$oc_user,$oc_pass);
}catch(PDOException $e){
echo ($e->getMessage());
}
我收到此错误还有其他原因吗?任何帮助表示赞赏。
【问题讨论】:
-
PDO 需要启用通用 PDO 模块和驱动程序特定模块(在您的情况下为 php_oracle)。在 PDO 部分“PDO 驱动程序”中调用 phpinfo() 会输出什么?启用了哪些特定驱动程序?
-
既然你提到了这一点,我又在 phpinfo() 中检查了一遍,但没有“PDO 驱动程序”部分。
-
啊,是的,当然,我想这是有道理的,因为您提到找不到类 PDO。傻我。恐怕我对配置 PHP 的方式不是很有经验。但我的猜测是,您应该有另一个配置选项,类似于安装通用 PDO 模块的“--with-pdo”。这是假设 '--with-pdo-oci' 不会自动安装通用 PDO 模块。不过不确定。
-
@fireeyedboy:你应该在答案中发布这个,而不是评论。