【问题标题】:How to set up OCI to connect to Oracle from PHP?如何设置 OCI 以从 PHP 连接到 Oracle?
【发布时间】:2008-10-27 02:38:39
【问题描述】:

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

我已经下载了“Instant Client Package - Basic Lite” (Link)。我已经将包含 OCI 库的包解压缩到一个目录,但我不知道如何告诉 PHP 我想使用这些库。可以预见的是,我得到了

致命错误:在...中调用未定义的函数 oci_connect()

运行此代码时:

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

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

【问题讨论】:

  • 我遇到了一些类似的问题,但我不知道如何重新编译。您的意思是在同一目录中再次运行 ./configure --with-oci8 和 make && make-install 吗?除了这三个命令之外,这是否涉及其他一些更改?

标签: php oracle oracle-call-interface


【解决方案1】:

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

(sudo) pecl install oci8

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

更新:

当它要求您输入 ORACLE_HOME 时输入类似的内容:

instantclient,/opt/oracle/instantclient

我认为设置环境变量将是另一种解决方案。 /opt/oracle... 是我放入我的即时客户端的路径。我前段时间学习了一些教程,不幸的是我再也找不到它了。

HTH

【讨论】:

    【解决方案2】:

    我认为您需要确保 $ORACLE_HOME/lib32 在您的 $LD_LIBRARY_PATH 中,或者将该目录添加到 /etc/ld.so.conf 文件中。

    【讨论】:

      【解决方案3】:

      最后,我下载了 Zend Core for Oracle 并且成功了。 http://www.zend.com/en/products/core/for-oracle

      【讨论】:

      • 不要使用zend core for oracle,使用通用版本(它支持oracle)。由于 oracle 的 zend 核心中存在错误,我有一张支持票,他们告诉我它已被弃用并且不再积极更新。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-18
      • 1970-01-01
      • 2021-08-28
      • 2020-12-20
      • 2016-01-21
      • 1970-01-01
      • 2021-01-01
      相关资源
      最近更新 更多