PDO_OCI:找不到驱动程序

Posted

技术标签:

【中文标题】PDO_OCI:找不到驱动程序【英文标题】:PDO_OCI: could not find driver 【发布时间】:2012-02-09 20:53:17 【问题描述】:

今天我的问题与 PDO、OCI8 和 PDO_OCI 有关。但从一开始。

我使用的是 Ubuntu 11.10 和 php 版本:5.3.8-1ubuntu3。我已经安装了 Oracle 10g Express,并对其进行了配置,并且运行良好。我必须做的下一步是在 Oracle 和 PDO 之间进行集成。所以我找到了这个链接:http://lacot.org/blog/2009/11/03/ubuntu-php5-oci8-and-pdo_oci-the-perfect-install.html 并一步一步地做(没有安装之前使用 pdo_mysql 安装的 PDO)。当我尝试在 Ubuntu 10.10 上执行此操作时 - 它正在工作。现在,在 11.10 上,当我尝试打开我的网站应用程序时出现错误:“找不到驱动程序”。

我检查了 phpinfo() 并且在 PDO 行中有:PDO 支持 - 启用,PDO 驱动程序 - mysql。本节中没有关于 oci 的内容,尽管它下面的几行我有用于 OCI 8 及更高版本的 PDO 驱动程序 - 已启用。

希望有人可以帮助解决这个问题。 最好的问候,马特奥。

【问题讨论】:

你的 apache/php 环境有 ORACLE_HOME 环境变量吗? 是的。它设置为:/opt/instantclient_10_2/(在我在 OCI8 和 PDO_OCI 安装期间完成的步骤之后)。 Okey - 我确定这与 PDO 有关。当我完成教程中的所有步骤(包括安装 PDO-1.0.3)时 - 它开始工作,但出现了另一个错误(我在:***.com/questions/8772586/… 中提到过)。但是当我粘贴上一个文件 pdo.so 时,它停止了,我再次看到错误“找不到驱动程序”。我不知道该怎么办。 :( 您是否启用了您的 pdo_mysql 模块?通常在未加载 PDO_PGSQL 驱动程序时会出现此错误。此外,您的来自php.ini 文件 (php_pdo_mysql/php_pdo_sqlite) 的 pdo 扩展是否存在?即使它出现在phpinfo(),你也应该仔细检查一下。 看看这个指南:oracle.com/technetwork/articles/… 它对我有用。可能是未正确设置的 ORACLE_HOME 变量。尝试做: echo $ORACLE_HOME 【参考方案1】:

您需要重新编译支持 PDO_OCI 的 PHP:

--with-pdo-oci=instantclient,/usr,10.2.0.3

当然,用您安装的版本替换即时客户端版本。

PDO 是一种访问类型。 MySQL 和 OCI 是数据库类型。如果您安装了基本 PDO 软件包,您仍然需要安装驱动程序。默认情况下,驱动程序不附带 PDO。当您安装 PDO MySQL 时,没有安装 PDO OCI,因为它是一个单独的模块。

【讨论】:

以上是关于PDO_OCI:找不到驱动程序的主要内容,如果未能解决你的问题,请参考以下文章

找不到USB硬件/blaster驱动程序

如何在 ubuntu 机器上安装 oracle instantclient 和 pdo_oci?

Laravel 8 - 找不到驱动程序:Illuminate\Database\QueryException 找不到驱动程序(SQL:select * from `list`)

project安装程序找不到任何可安装的产品

EXCEL提示找不到应用程序

如何解决Win7安装驱动程序找不到指定模块