一.下载安装
集成环境 phpstudy2016 要连接的oracle为12c
【查看版本号:phpinfo() => 搜索‘architecture’ 结构,内核,代表了php的版本号】
打开扩展
extension=php_oci8_12c.dll
extension=php_pdo_oci.dll
查看这个时候打开phpinfo();如果这时候你还看不到你的扩展成功开启 ,
是因为你没安装oracle 客户端(有人会有疑虑我连其他人的oracle为什么我本地还要装客服端,PHP连接扩展中需要依赖oracle客服端中的文件)
下载对应版本的oracle instant client
http://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html
选择自己要下载的版本
X86 对应32 位版本
划重点了:需要下载这两个压缩包 ,安装到统一路径下,请看好是“basicLIte”和sqlplus版本 ,并且版本号统一
1、 将instantclient-basic和instantclient-sqlplus两个安装包放在同一个目录下,解压。
在这里,我们放在E:\Oracle下,解压到当前文件夹,最后会自动生成一个新的文件夹instantclient_11_2,两个安装包的文件都会放到该文件夹下,即 E:\Oracle\instantclient_11_2。
2、 修改系统变量
1> 将E:\Oracle\instantclient_11_2添加到系统变量PATH中
TNS_ADMIN=E:\Oracle\instantclient_11_2 -->> 指定tnsnames.ora所在位置
需重启电脑让修改的系统变量生效 需重启电脑让修改的系统变量生效 需重启电脑让修改的系统变量生效。
测试有没有安装成功方法
cmd
sqlplus scott/tiger@orcl
SQLPlus: Release 11.2.0.1.0 Production on Fri Aug 8 10:17:53 2014
Copyright © 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>
出现即测试成功
至此,Oracle Instant Client和SQlPlus安装完成。
二.下载oci扩展包
http://pecl.php.net/package/oci8 根据需要选择
另外附下载扩展地址:https://windows.php.net/downloads/pecl/releases/oci8/
下载后解压,将相关.dll文件复制到php环境扩展文件夹中 /php/ext/
三.安装好验证之后,修改PHP配置文件php.ini 文件,增加扩展
extension=php_oci8.dll
extension=php_oci8_12c.dll(具体扩展版本号根据自己第三步中安装的oci版本匹配)
四,进行完之后可重复进行第一部验证,发现phpinfo中多了oci模块,否则请重新仔细检查前几步是否完全正确
参考地址 https://blog.csdn.net/denghaolinzy/article/details/96481803
成功安装连接时出现的问题汇总
PDOException in Connection.php line 295
SQLSTATE[HY000]: pdo_oci_handle_factory: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
composer引入的oracle包里
vendor\topthink\think-oracle\src\Connection.php
parseDsn 方法修改为
protected function parseDsn($config)
{
$dsn = 'oci:dbname=';
if (!empty(