任务目的:本地windows下PHP连接远程服务器下的oracle。

必须必须 确定服务器的数据库版本,如果本地的驱动和对方服务器版本不一致,会导致许多报错。

已知的oracle版本  分为 32位的10G,11G,13G 64位的10G,11G,13G

我本机是64位的系统,开始就进去误区,把所有版本的64位下载了一遍,结果 不管你怎么调,本地的驱动就是找不到oci方法。

然后目标定位到32位,32位如果下载错版本,会报这个错。

oci_connect(): OCIEnvNlsCreate() failed. There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries

找对版本后,下载下来,运行成功。

其中我的本地由于是新开的,所以很多配置文件都没有,导致执行的过程中缺少各种文件,按照报错缺少的文件逐个去官网(权威点的网站)下载,放到位置可。

具体操作步骤如下:

1.打开php.ini,把extension=php_oci8.dll打开。

2.其中下载oracle包中的oci.dll房到 C盘的sys32?64看你自己的系统是多少位的。

3.把oracle包中的所有文件拷到php扩展文件夹一份,apache的bin目录一份。

如果还是不行  那就把php的扩展php_oci8.dll也放到sys32里一份,这点不太确定,查了好多资料都这么说,我第一部就放进去了。

其中改了许多环境变量什么的,最后问题解决之后才发觉都没用,又都删了。

最后附上php连接oracle的代码(其中oci_connect中 的SID就是常说的数据库,但是oracle中好像普遍都叫服务名,你就当成数据库名理解就行)

$conn = oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=192.168.0.180)(PORT = 1521))(CONNECT_DATA =(SID=toplw)))");
$sql = "select * from table";
$ora_test = oci_parse($conn,$sql); //编译sql语句 oci_execute($ora_test,OCI_DEFAULT); //执行
echo "<pre>";
while($r=oci_fetch_row($ora_test)) //取回结果
{
print_r($r);
}

本地windows下PHP连接远程oracle遇到的诸多问题的更多相关文章

  1. 解决windows下Eclipse连接远程Hadoop报错

    Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.N ...

  2. 本地连接远程Oracle数据库

    由于项目开发测试,需要在本地连接远程的Oracle数据库 之前搭过环境,但是重装了系统,现在又重新装一遍 软件安装 连接远程Oracle需要两个软件: 一个Oracle客户端,instantclien ...

  3. windows下使用xShell远程连接virtualbox里面的linux

    第一阶段:基本安装 安装virtual box 在virtualbox里面安装xubuntu:是ubuntu+xfce桌面环境的一个linux的发行版本 在windows下安装Xmanager Ent ...

  4. windows下plsql连接linux下的oracle数据库

    windows下plsql连接linux下的oracle数据库 经过多方查找,终于找到解决办法,特此记录下来,共享之. PL/SQL Develorper:目前未发现可以在Linux系统中安装的版本. ...

  5. 如何配置pl/sql 连接远程oracle服务器

    在下边的两种情况下,如何配置pl/sql 连接远程oracle服务器 1)在客户端不装oracle 客户端也不装服务器,能否配置pl/sql 连接远程oracle服务器,如何配置,请给出详细的文档说明 ...

  6. 在Windows下配置Linux远程开发环境

    在Windows下配置Linux远程开发环境 欢迎光临我的个人博客 https://source.chens.life/Configure-Linux-remote-development-envir ...

  7. PL/SQL Developer连接远程Oracle数据库

    转自:http://zhengdu.net/archives/152 一.首先看远程端oracle服务是否启动 如果没有启动,请启动oracle服务 ps:创建或者删除oracle监听 二.远程端or ...

  8. sql plus 和 pl/sql无法连接远程oracle数据库

    前言:安装完oracle客户端后,可能会出现sql plus 和 pl/sql无法连接远程oracle数据库的情况,可能是以下原因: 针对sql plus连接不上: 1 可能原因:之前安装过oracl ...

  9. 本地windows下搭建git的本地服务器

    本地windows下搭建git的本地服务器 准备工作: 本地安装java环境,配置环境变量(略) 下载gitblit文件,百度一大堆 开始第一步: 减压gitblit压缩包到某个目录下,比如我在:H: ...

随机推荐

  1. IE11新特性 -- Internet Explorer 11:请不要再叫我IE

    Internet Explorer 11 中的一些新特性,包括对WebGL 的支持.预抓取.预渲染.flexbox.mutationobservers 以及其他一些 Web 标准的支持.但是更有趣的是 ...

  2. QTableWidget 用法总结(只能使用标准的数据模型,并且其单元格数据是QTableWidgetItem的对象)

    QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC.C#中的DataGrid.说到QTableWidget,就必须讲一下它跟QTabelView的区别了.QTableWidge ...

  3. P2P网贷投资须谨防圈钱人

    摘要:P2P领域依然呈现投资热潮,甚至部分国有大行也有意涉足.这个行业到底怎么了?P2P平台上高收益的理财产品,到底能买不?     新年才刚刚过了10天,就有4家网贷平台被爆出支付危机,P2P一时被 ...

  4. (总结)工作中常用的js自定义函数——日期时间类

    //设置时间类 var Wsdatatime = function(){ this.today = (new Date()).getTime(); //当前时间 } Wsdatatime.protot ...

  5. Java---设计模块(设计模块的简介及最简单的俩个单例代码加测试)

    设计模式学习概述: ★ 为什么要学习设计模式 1.设计模式都是一些相对优秀的解决方案,很多问题都是典型的.有代表性的问题,学习设计模式,我们就不用自己从头来解决这些问题,相当于在巨人的肩膀上,复用这些 ...

  6. 判断UserAgent是否为手机

     , )))             {                 return true;             }             return false;         }

  7. HDU_2052——画矩形

    Problem Description Give you the width and height of the rectangle,darw it.   Input Input contains a ...

  8. 关于解决Oracle登录:ora-12154:tns:无法解析指定的连接标识符

    (注:此文摘自http://www.linuxidc.com/Linux/2012-04/59322.htm) 开始学习Oracle,所以今天就打算把Oracle 10g安装下.安装完后就来进行测试是 ...

  9. linux image writes boot log to console

  10. 形形色色的软件生命周期模型(4)——MSF、实用型

    摘要: 读大学时,我们曾经学习过不少软件生命周期模型,当时还不是很懂软件开发,你可能会觉得这些东西很新奇.在实际工作中,你会发现这些模型其实很难应用,与此同时你会接触到RUP.MSF等权威软件公司的生 ...