php连接oracle数据库的方法(测试成功)

yipeiwu_com6年前PHP代码库

本文简单分析了php连接oracle数据库的方法。分享给大家供大家参考,具体如下:

PHP提供了两套函数与Oracle连接,分别是ORA_和OCI函数。其中ORA_函数略显陈旧。OCI函数更新据说更好一些。两者的使用语法几乎相差无几。你的PHP安装选项应该可以支持两者的使用。

由于OCI函数访问oracle8以上的数据库需要用到Oracle8 Call-Interface(OCI8),这个扩展模块需要oracle8的客户端函数库,因此需要连接远程数据库的话,还需要连接端安装oracle客户端软件,可以到http://www.oracle.com/免费下载,这是必须的,否则会报方法未定义错。

步骤:

1、安装apache和php。
2、安装Oracle 10g Instant Client(或其他版本)。
2、在php.ini中打开extension=php_oci8扩展。
3、将php/ext目录下的php_oci8.dll文件拷贝到system32目录下。
4、编写测试脚本测试。

<?php
$conn = oci_connect('用户名', '密码', '远程数据库名(eg.//192.168.1.133/orcl)');
if (!$conn) {
  $e = oci_error();
  print htmlentities($e['message']);
  exit;
}else {
  echo "连接oracle成功!";
}
?>

可能出现的错误:

1、call to undefined function oci_connect()......:这是因为没找到php_oci8.dll,检查apache的错误日志error.log可能会看到:php startup :unable to load dynamic liberaries php_oci8.dll......

解决方法:将php/ext目录下的php_oci8.dll文件拷贝到system32目录下,如果还不行,将Oracle 10g Instant Client安装目录下/product/10.2.0/db_2/BIN目录中的oci.dll文件拷贝到system32下。

2、OCIEnvNlsCreate() failed....... PATH includes the directory with Oracle Instant Client libraries

解决方法:重启机器,如果还不行,安装Oracle 10g Instant Client。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP 实用代码收集

1. 可阅读随机字符串 此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具有密码验证功能。 复制代码 代码如下: /************** *@length - le...

php中 $$str 中 "$$" 的详解

这种写法称为可变变量 有时候使用可变变量名是很方便的。就是说,一个变量的变量名可以动态的设置和使用。一个普通的变量通过声明来设置,例如: <?php $a = "hel...

遭遇php的in_array低性能问题

遭遇php的in_array低性能问题

PHP的性能一直在提高。然而,若是用的不恰当,或是一个不留神,还是可能会踩到PHP内部实现方面的坑的。我在前几天的一个性能问题上就碰到了。 事情是这样子的,一位同事反馈我们的一个接口每次...

php使用ob_start()实现图片存入变量的方法

本文实例讲述了php使用ob_start()实现图片存入变量的方法。分享给大家供大家参考。具体实现方法如下: 用php的GD库处理完图片后,只能将图片用imagejpeg()输出,或者写...

php实现将二维关联数组转换成字符串的方法详解

本文实例讲述了php实现将二维关联数组转换成字符串的方法。分享给大家供大家参考,具体如下: 需求 项目中遇到了二维关联数组转字符串的问题,查阅相关资料,写了如下程序,并且能过滤重复的关键...