phpStudy配置sql、oracle---博主摘录
引用 :https://www.cnblogs.com/myBlogInWork/p/8657125.html
由于工作需要,要用到php+oracle写个项目,故而有了以下内容:
本来以为php有默认的oracle模块,封装好的函数拿过来用就好了,后发现并不像那么简单,整个过程经过就不说了,费了很大功夫,百度了好多,发现相关的经验也比较少,决定写下来了。
整个过程如下:
查看本地的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---博主摘录的更多相关文章
- hibernate4中oracle,sqlserver,mysql数据库的sql方言配置(SQL Dialects)
hibernate4中oracle,mysql,sqlserver数据库的sql方言配置(SQL Dialects) 数据库类型 Hibernate sql方言 DB2 org.hibernate.d ...
- 安装Hue后的一些功能的问题解决干货总结(博主推荐)
不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...
- 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 ...
- ORACLE 博客文章目录(2015-05-27更新)
从接触ORACLE到深入学习,已有好几年了,虽然写的博客不多,质量也参差不齐,但是,它却是成长的历程的点点滴滴的一个见证,见证了我在这条路上的寻寻觅觅,朝圣的心路历程,现在将ORACLE方面的博客整理 ...
- Java工程师面试题,整理自网络与博主各种笔试面试,持续更新
1.面向对象的特征有哪些方面? 封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口. 多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应.简单的说就是用同 ...
- MyBatis 配置sql语句输出
版权声明:本文为博主原创文章,未经博主允许不得转载. 此处使用log4j,加入jar包,然后在src路径下加入:log4j.properties文件 填入以下配置就可以打印了 log4j.rootLo ...
- 成功的背后!(给所有IT人)----转载:来自CSDN第一名博主
转载:来自CSDN第一名博主:http://blog.csdn.net/phphot/article/details/2187505 放在这里激励你我! 正文: 成功的背后,有着许多不为人知的故事,而 ...
- Hibernate框架--配置,映射,主键
SSH框架: Struts框架, 基于mvc模式的应用层框架技术! Hibernate, 基于持久层的框架(数据访问层使用)! Spring, 创建对象处理对象的依赖关系以及框架整合! Da ...
- ORACLE 博客文章目录(2015
从接触ORACLE到深入学习,已有好几年了,虽然写的博客不多,质量也参差不齐,但是,它却是成长的历程的点点滴滴的一个见证,见证了我在这条路上的寻寻觅觅,朝圣的心路历程,现在将ORACLE方面的博客整理 ...
随机推荐
- Python:日期表达的转换(day of year & year month day)
我们常用的日期格式是“年月日”型的,即year-month-day,比如今天是2019年9月14日,2019-09-14. 然而,有些地方,比如遥感图像下载的命名里面,为了数据表示方便,常常是doy( ...
- Arduino连接MPU6050陀螺仪
一.线路连接 Arduino MPU6050 VCC 3.3V/5V GND GND SCL A5 SDA A4 INT D2 二.库下载 https://pan.baidu.com/s/1nvt75 ...
- gitlab docker中postgresql远程访问配置
1.配置postgresql远程访问 配置postgresql远程访问,需要修改两个文件,在gitlab-ce的docker中位置为 /var/opt/gitlab/postgresql/data 首 ...
- 视图:setContentView()
1.setContentView的作用是将View加载到根view之上,这样当显示view时,先显示根view,然后在显示子view,以此类推,最终将所有view显示出来. 2.setContentV ...
- Devexpress MVC Gridview 获取到增删改的所有行数据(JSON) 并使用SQL事物保存数据
//ModalChargeGridView Gridview的名字//Con_Shp_Chg 数据库表名//ConShpChgUID UID或者是标识列//gs_Language 语言(中英文)//l ...
- CDOJ 203 并查集+优先队列 好题
题目链接 Islands Time Limit: 30000/10000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) S ...
- beforeRouterEnter与replace的使用
这次使用beforeRouterEnter来判断是一定条件下才执行相应的页面跳转. beforeRouterEnter:组件内路由,跟data,methods同级 beforeRouteEnter ( ...
- 用命令行编译运行java文件的乱码问题
之前在写的时候没有遇到过这个问题,用惯了eclipse之后突然用Notepad++就出现乱码了 我在编写的时候 指定Noepad++的编码是 UTF-8编码,然后进入命令行,编译的时候就出现了乱码 然 ...
- Android NDK下载
http://dl.google.com/android/ndk/android-ndk-r10d-linux-x86_64.bin https://dl.google.com/android/rep ...
- 【重点突破】—— UniApp 微信小程序开发官网学习Two
一.使用Vue.js注意事项 Vue.js在uni-app中使用的差异: 新增:uni-app除了支持Vue实例的生命周期,还支持应用启动.页面显示等生命周期 受限:发布到H5时支持所有vue的语法, ...