+ -
当前位置:首页 → 问答吧 → ora_logon()也有错?

ora_logon()也有错?

时间:2007-04-25

来源:互联网

复制PHP内容到剪贴板
PHP代码:

<? 
if ($conn=Ora_Logon("scott@ORCL","tiger"))

    echo "SUCCESS ! Connected to database\n";
}else
{
    echo "Failed :-( Could not connect to database\n";
}
Ora_Logoff($conn);

?>

在Rh linux AS3 操作系统的ZendStudio5.2 下建一个文件try_ora.php,调试的时候得到如下提示信息:
调试错误:/home/bysj/try_ora.php 行 2 - Call to undefined function Ora_Logon()

我已将oracle数据库连接上并测试成功了,但为什么还会ora_logon函数出错?
请高手赐教。
先谢谢了!

作者: wulwu   发布时间: 2007-04-24

自 5.1.0 起,Oracle 函数已经不再被绑定到 PHP 中,你需要手动加载 Oracle 扩展。

作者: Ben   发布时间: 2007-04-26

谢谢Ben,
请问如何加载?

作者: wulwu   发布时间: 2007-04-26

可能需要重新编译一下 PHP。先确认你的 PHP 源码目录里面有 ext\oci8 这个目录,没有的话到这里 http://pecl.php.net/package/oci8 下载。然后在编译时额外加上 --with-oci8 参数。编译好后再到 php.ini 中添加一行 extension=php_oracle.so

作者: Ben   发布时间: 2007-04-26

再问一下:

我在编译PHP5 时如下:
tar -zxvf php5.tar.gz
mv php5.tar.gz php
cd php
./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/lib --enable-track-vars --with-xml \
--with-oracle=$ORACLE_HOME --with-oci8=shared,$ORACLE_HOME
碰到如下错误,请问如何解决?

checking Oracle version... configure: error: Oracle-OCI8 needed libraries not found

作者: wulwu   发布时间: 2007-04-26

这个是没有找到 Oracle 的 lib 文件。你可以看看 $ORACLE_HOME 到底指向哪里,有没有一些 lib 文件。

sorry,刚翻了一下手册,貌似包含 Ora_xxxx 这些函数的 Oracle 扩展已经不能在 PHP 5.1.0 以上的版本中编译了。使用 OCI8 扩展已经没有了这些函数。也就是说,要么使用 PHP 4.4.x 而不修改代码,要么使用 PHP 5.1+ 但是必须修改代码。:(

作者: Ben   发布时间: 2007-04-27

ben好久不灌水

作者: Lilicl   发布时间: 2007-04-27

顶一下,学习了。

作者: maikongjian   发布时间: 2007-04-27

自已的问题自己说明一下:我在root用户下用echo $ORACLE_HOME,没得到任何东东,而在oracle用户下使用echo $ORACLE_HOME却能得到 /opt/oracle/product/9.2.0

所以在上面(5楼)的./configure中把$ORACLE_HOME替换为/opt/oracle/product/9.2.0
居然编译成功了。问题到这里是解决一半了,但这是我自己的PHP5,并不是ZEND的PHP5,在ZendStudio中编译只有一个phpinfo();语句的文件时得到的系统配置消息是:
Configure Command          './configure' '--enable-memory-limit' '--disable-debug' '--with-mysql=/usr/local/mysql-3.23.58' '--with-libxml-dir=/usr/local/libxml2-2.6.22' '--with-iconv=/usr/local/libiconv-1.9.2' '--with-zlib-dir=/usr/local/zlib-1.2.3' '--without-pear'

想问的问题是:如何使Zend同样支持ORACLE?

作者: wulwu   发布时间: 2007-04-27

引用:
想问的问题是:如何使Zend同样支持ORACLE?
很简单。
那你就在 ZendStudio 中的 phpinfo() 中找 php.ini 的位置。找到后处理方法同处理你现在自己的 php.ini 一样加上 extension=php_oracle.so。当然你得保证 ZendStudio 能找到这个文件~:D

作者: Ben   发布时间: 2007-04-28

谢谢10楼的指导,
只是找到PHP.ini以后,在文件的最后添加上一行extension=php_oracle.so
即使是重启linux还是没见着效果.


难道ZendStudio不支持oracle9i???????????????????????????????

作者: wulwu   发布时间: 2007-04-29

恐怕你还得留意一下 ZendStudio 的 extension_dir ~ :D

作者: Ben   发布时间: 2007-04-29

热门下载

更多