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:找不到驱动程序的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ubuntu 机器上安装 oracle instantclient 和 pdo_oci?
Laravel 8 - 找不到驱动程序:Illuminate\Database\QueryException 找不到驱动程序(SQL:select * from `list`)