本地windows下PHP连接远程oracle遇到的诸多问题
任务目的:本地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遇到的诸多问题的更多相关文章
- 解决windows下Eclipse连接远程Hadoop报错
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.N ...
- 本地连接远程Oracle数据库
由于项目开发测试,需要在本地连接远程的Oracle数据库 之前搭过环境,但是重装了系统,现在又重新装一遍 软件安装 连接远程Oracle需要两个软件: 一个Oracle客户端,instantclien ...
- windows下使用xShell远程连接virtualbox里面的linux
第一阶段:基本安装 安装virtual box 在virtualbox里面安装xubuntu:是ubuntu+xfce桌面环境的一个linux的发行版本 在windows下安装Xmanager Ent ...
- windows下plsql连接linux下的oracle数据库
windows下plsql连接linux下的oracle数据库 经过多方查找,终于找到解决办法,特此记录下来,共享之. PL/SQL Develorper:目前未发现可以在Linux系统中安装的版本. ...
- 如何配置pl/sql 连接远程oracle服务器
在下边的两种情况下,如何配置pl/sql 连接远程oracle服务器 1)在客户端不装oracle 客户端也不装服务器,能否配置pl/sql 连接远程oracle服务器,如何配置,请给出详细的文档说明 ...
- 在Windows下配置Linux远程开发环境
在Windows下配置Linux远程开发环境 欢迎光临我的个人博客 https://source.chens.life/Configure-Linux-remote-development-envir ...
- PL/SQL Developer连接远程Oracle数据库
转自:http://zhengdu.net/archives/152 一.首先看远程端oracle服务是否启动 如果没有启动,请启动oracle服务 ps:创建或者删除oracle监听 二.远程端or ...
- sql plus 和 pl/sql无法连接远程oracle数据库
前言:安装完oracle客户端后,可能会出现sql plus 和 pl/sql无法连接远程oracle数据库的情况,可能是以下原因: 针对sql plus连接不上: 1 可能原因:之前安装过oracl ...
- 本地windows下搭建git的本地服务器
本地windows下搭建git的本地服务器 准备工作: 本地安装java环境,配置环境变量(略) 下载gitblit文件,百度一大堆 开始第一步: 减压gitblit压缩包到某个目录下,比如我在:H: ...
随机推荐
- EF 多线程插入 Insert into DbContext Multithreading
当通过task 插入多条数据时报错. DBcontext 不是线程安全的, 如果是WebAPI 为每个请求创建DbContext 部分解释: http://stackoverflow.com/ques ...
- IOS之动画
IOS之动画 15.1 动画介绍 15.2 Core Animation基础 15.3 隐式动画 15.4 显式动画 15.5 关键帧显式动画 15.6 UIView级别动画 15.1 动画介绍 ...
- cat查看proc下文件帮助
cat boot_mode 查看cpu版本 cat cmdline cat cpuinfo 查看cup详细信息 cat devices cat diskstats cat dma-mappings c ...
- 关于机器学习-EM算法新解
我希望自己能通俗地把它理解或者说明白,但是,EM这个问题感觉真的不太好用通俗的语言去说明白,因为它很简单,又很复杂.简单在于它的思想,简单在于其仅包含了两个步骤就能完成强大的功能,复杂在于它的数学推理 ...
- CentOS安装Nginx,并配置nodejs反向代理
安装介绍 安装位置:/usr/local/nginx nginx安装包下载地址:http://nginx.org/download/nginx-1.7.11.tar.gz 安装依赖软件 安装nginx ...
- Cracking the coding interview--Q2.1
原文: Write code to remove duplicates from an unsorted linked list.FOLLOW UPHow would you solve this p ...
- MD中bitmap源代码分析--状态机实例
1. page_attrs的状态转换关系 之前说过,bitmap的优化核心是:bitmap设置后批量写入:bitmap延时清除.写bit用bitmap_statrwrite() + bitmap_un ...
- Hp vPv
- [Python]round四舍五入精度缺失的解决
环境: os: win7 64bit python:2.7.5 32bit 对python四舍五入的解决方案 现象: 一般的四舍五入操作都是使用内置的round方法 In [14]: round ...
- DB2 错误编码 查询(一)(转)
size=medium][/size]本节列示 SQLSTATE 及其含义.SQLSTATE 是按类代码进行分组的:对于子代码,请参阅相应的表. 表 2. SQLSTATE 类代码 类代码含义 要获得 ...