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

发布于 2024-07-08 03:05:51 字数 638 浏览 8 评论 0原文

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

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

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

致命错误:运行此代码时

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

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

On the latest Ubuntu, I have a functioning PHP 5.2.4 installation. I want to use a remote Oracle server from PHP using OCI.

I've downloaded the "Instant Client Package - Basic Lite" (Link). I've unzipped the package containing the OCI libraries to a dir but I have no idea how to tell PHP that I want to use these libraries. Predictably, I get

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

when running this code:

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

I don't want to recompile PHP with Oracle support. What's the fastest way to wire up PHP so that I can use Oracle? Do I need any other libaries, like the Oracle client if I want to connect to a remote Oracle instance?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

夜深人未静 2024-07-15 03:05:51

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

(sudo) pecl install oci8

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

更新:

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

instantclient,/opt/oracle/instantclient

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

华泰

You need the PHP extension, try the following on your Ubuntu:

(sudo) pecl install oci8

Make sure your php.ini's (there should be one for your Apache and one for cli php) contain extension=oci8.so afterwards. Finally, you have to restart Apache and can confirm via <?php phpinfo(); ?> that the extension is loaded.

UPDATE:

Enter something like this when it asks you for ORACLE_HOME:

instantclient,/opt/oracle/instantclient

I think setting the environment variable would be another solution. /opt/oracle... is the path I put my instantclient in. I followed some tutorial a while ago, unfortunately I can't find it anmore.

HTH

音盲 2024-07-15 03:05:51

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

I think you'll need to make sure that the $ORACLE_HOME/lib32 is in your $LD_LIBRARY_PATH, or else add that directory to the /etc/ld.so.conf file.

看春风乍起 2024-07-15 03:05:51

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

In the end, I downloaded Zend Core for Oracle and that worked.
http://www.zend.com/en/products/core/for-oracle

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文