php - 如何设置 OCI 以从 PHP 连接到 Oracle?

标签 php oracle oracle-call-interface

在最新的 Ubuntu 上,我安装了一个正常运行的 PHP 5.2.4。我想通过 OCI 从 PHP 使用远程 Oracle 服务器。

我已经下载了 “即时客户端包 - Basic Lite” ( Link )。我已经将包含 OCI 库的包解压缩到一个目录,但我不知道如何告诉 PHP 我想使用这些库。不出所料,我得到了

Fatal error: Call to undefined function oci_connect() in...

运行这段代码时:

<?php 
   $conn = oci_connect('hr', 'hrpw', 'someremotehost');
?>

我不想重新编译支持 Oracle 的 PHP。连接 PHP 以便我可以使用 Oracle 的最快方法是什么?如果我想连接到远程 Oracle 实例,是否需要任何其他库,例如 Oracle 客户端?

最佳答案

您需要 PHP 扩展,请在您的 Ubuntu 上尝试以下操作:

(sudo) pecl install oci8

确保您的 php.ini(应该有一个用于 Apache,一个用于 cli php)包含 extension=oci8.so然后。最后,您必须重新启动Apache 并可以通过<?php phpinfo(); ?> 确认。扩展已加载。

更新:

当它要求您提供 ORACLE_HOME 时,请输入如下内容:

instantclient,/opt/oracle/instantclient

我认为设置环境变量是另一种解决方案。/opt/oracle... 是我放置我的 instantclient 的路径。我前一段时间遵循了一些教程,不幸的是我找不到它了。

HTH

关于php - 如何设置 OCI 以从 PHP 连接到 Oracle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/238956/

相关文章:

php - xpath查找非空链接

sql - 如何计算一列的累计数字?

c - 欧西利卜。无输出

c - 我想知道 OCIStmt 结构

php和oracle OCI查询

php - Zend 框架 2 : Empty isValid/getMessages

php - 我使用 GET 方法而不是 POST 来传递变量。如何解决这个问题?

php - 你会将数据库中的一些列表缓存到 php 数组中吗?

oracle - 如何从 oracle origin 与 Streamsets 连接

SQL:将查询输出更改为具有两个单独的列,而不是具有 2 个值的行