引用 :https://www.cnblogs.com/myBlogInWork/p/8657125.html

由于工作需要,要用到php+oracle写个项目,故而有了以下内容:

本来以为php有默认的oracle模块,封装好的函数拿过来用就好了,后发现并不像那么简单,整个过程经过就不说了,费了很大功夫,百度了好多,发现相关的经验也比较少,决定写下来了。

整个过程如下:

  1. 查看本地的php版本信息(cmd :php -v   或者 echo  phpinfo())

2.下载对应版本的oracle instant client

http://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html

X86  对应32 位版本

划重点了:需要下载这两个压缩包 ,安装到统一路径下,请看好是“basicLIte”sqlplus版本 ,并且版本号统一

具体安装过程 参见:https://www.cnblogs.com/ivictor/p/3898702.html

  可见,如果仅仅是用SQL Developer连接数据库服务器端,或用SQL*Plus对数据库进行操作,相对于标准的客户端,

  Oracle Instant Client都是一个更好的选择,它大大简化了客户端的安装过程,占用空间极少,却包括必备的OCI、OCCI接口和ODBC、JDBC driver。

  下载链接:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

  因为我们后台数据库的版本是11.2.0.1 32位,同时我们需要在windows下面安装客户端,故下载

  【php】

  instantclient-basic-win32-11.2.0.1.0.zip (51,458,190 bytes)

  instantclient-sqlplus-win32-11.2.0.1.0.zip (758,913 bytes)

下面来看看如何安装。

一、 将instantclient-basic和instantclient-sqlplus两个安装包放在同一个目录下,解压

在这里,我们放在E:\Oracle下,解压到当前文件夹,最后会自动生成一个新的文件夹instantclient_11_2,两个安装包的文件都会放到该文件夹下,即                          E:\Oracle\instantclient_11_2。

二、 修改系统变量

1> 将E:\Oracle\instantclient_11_2添加到系统变量PATH中

2> 新增系统变量

NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252   -->> 服务器端字符集

TNS_ADMIN=E:\Oracle\instantclient_11_2       -->> 指定tnsnames.ora所在位置

注意:如果安装网上方法系统变量依然没有生效的话,需重启电脑让修改的系统变量生效。

三、 在E:\Oracle\instantclient_11_2 下新建tnsnames.ora配置文件,内容如下:

orcl =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl.being.com)
    )
  )

四、 用SQL*Plus登陆测试。

    C:\WINDOWS\system32>sqlplus scott/tiger@orcl

SQL*Plus: Release 11.2.0.1.0 Production on Fri Aug 8 10:17:53 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>

测试ok!

至此,Oracle Instant Client和SQl*Plus安装完成。

3.下载oci扩展包

http://pecl.php.net/package/oci8  根据需要选择

注意这里的三个框对应第一步中的三项信息

下载后解压,将相关.dll文件复制到php环境扩展文件夹中

xampp环境为:../xampp/php/ext

4.安装好验证之后,修改PHP配置文件php.ini 文件,增加扩展

extension=php_oci8.dll

extension=php_oci8_12c.dll(具体扩展版本号根据自己第三步中安装的oci版本匹配)

5.全部进行完之后可重复进行第一部验证,发现phpinfo中多了oci模块,否则请重新仔细检查前几步是否完全正确

 

需要注意的是,部署sqlserver不用重启电脑,部署oracle需要重启电脑。

phpStudy配置sql、oracle---博主摘录的更多相关文章

  1. hibernate4中oracle,sqlserver,mysql数据库的sql方言配置(SQL Dialects)

    hibernate4中oracle,mysql,sqlserver数据库的sql方言配置(SQL Dialects) 数据库类型 Hibernate sql方言 DB2 org.hibernate.d ...

  2. 安装Hue后的一些功能的问题解决干货总结(博主推荐)

    不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...

  3. CDH版本大数据集群下搭建Hue(hadoop-2.6.0-cdh5.5.4.gz + hue-3.9.0-cdh5.5.4.tar.gz)(博主推荐)

    不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...

  4. ORACLE 博客文章目录(2015-05-27更新)

    从接触ORACLE到深入学习,已有好几年了,虽然写的博客不多,质量也参差不齐,但是,它却是成长的历程的点点滴滴的一个见证,见证了我在这条路上的寻寻觅觅,朝圣的心路历程,现在将ORACLE方面的博客整理 ...

  5. Java工程师面试题,整理自网络与博主各种笔试面试,持续更新

    1.面向对象的特征有哪些方面? 封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口. 多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应.简单的说就是用同 ...

  6. MyBatis 配置sql语句输出

    版权声明:本文为博主原创文章,未经博主允许不得转载. 此处使用log4j,加入jar包,然后在src路径下加入:log4j.properties文件 填入以下配置就可以打印了 log4j.rootLo ...

  7. 成功的背后!(给所有IT人)----转载:来自CSDN第一名博主

    转载:来自CSDN第一名博主:http://blog.csdn.net/phphot/article/details/2187505 放在这里激励你我! 正文: 成功的背后,有着许多不为人知的故事,而 ...

  8. Hibernate框架--配置,映射,主键

    SSH框架: Struts框架, 基于mvc模式的应用层框架技术! Hibernate,    基于持久层的框架(数据访问层使用)! Spring,   创建对象处理对象的依赖关系以及框架整合! Da ...

  9. ORACLE 博客文章目录(2015

    从接触ORACLE到深入学习,已有好几年了,虽然写的博客不多,质量也参差不齐,但是,它却是成长的历程的点点滴滴的一个见证,见证了我在这条路上的寻寻觅觅,朝圣的心路历程,现在将ORACLE方面的博客整理 ...

随机推荐

  1. Python:日期表达的转换(day of year & year month day)

    我们常用的日期格式是“年月日”型的,即year-month-day,比如今天是2019年9月14日,2019-09-14. 然而,有些地方,比如遥感图像下载的命名里面,为了数据表示方便,常常是doy( ...

  2. Arduino连接MPU6050陀螺仪

    一.线路连接 Arduino MPU6050 VCC 3.3V/5V GND GND SCL A5 SDA A4 INT D2 二.库下载 https://pan.baidu.com/s/1nvt75 ...

  3. gitlab docker中postgresql远程访问配置

    1.配置postgresql远程访问 配置postgresql远程访问,需要修改两个文件,在gitlab-ce的docker中位置为 /var/opt/gitlab/postgresql/data 首 ...

  4. 视图:setContentView()

    1.setContentView的作用是将View加载到根view之上,这样当显示view时,先显示根view,然后在显示子view,以此类推,最终将所有view显示出来. 2.setContentV ...

  5. Devexpress MVC Gridview 获取到增删改的所有行数据(JSON) 并使用SQL事物保存数据

    //ModalChargeGridView Gridview的名字//Con_Shp_Chg 数据库表名//ConShpChgUID UID或者是标识列//gs_Language 语言(中英文)//l ...

  6. CDOJ 203 并查集+优先队列 好题

    题目链接 Islands Time Limit: 30000/10000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) S ...

  7. beforeRouterEnter与replace的使用

    这次使用beforeRouterEnter来判断是一定条件下才执行相应的页面跳转. beforeRouterEnter:组件内路由,跟data,methods同级 beforeRouteEnter ( ...

  8. 用命令行编译运行java文件的乱码问题

    之前在写的时候没有遇到过这个问题,用惯了eclipse之后突然用Notepad++就出现乱码了 我在编写的时候 指定Noepad++的编码是 UTF-8编码,然后进入命令行,编译的时候就出现了乱码 然 ...

  9. Android NDK下载

    http://dl.google.com/android/ndk/android-ndk-r10d-linux-x86_64.bin https://dl.google.com/android/rep ...

  10. 【重点突破】—— UniApp 微信小程序开发官网学习Two

    一.使用Vue.js注意事项 Vue.js在uni-app中使用的差异: 新增:uni-app除了支持Vue实例的生命周期,还支持应用启动.页面显示等生命周期 受限:发布到H5时支持所有vue的语法, ...