如何设置 OCI 以从 PHP 连接到 Oracle?
在最新的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您需要 PHP 扩展,请在您的 Ubuntu 上尝试以下操作:
确保您的 php.ini(应该有一个用于您的 Apache,一个用于 cli php)随后包含
extension=oci8.so
。 最后,你必须重新启动Apache并可以通过表示扩展已加载。
更新:
当它要求您提供 ORACLE_HOME 时,输入如下内容:
我认为设置环境变量将是另一种解决方案。 /opt/oracle... 是我放置即时客户端的路径。我不久前遵循了一些教程,不幸的是我再也找不到它了。
华泰
You need the PHP extension, try the following on your Ubuntu:
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:
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
我认为您需要确保 $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.
最后,我下载了 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