首先,本篇文章重点分享的是:在Win平台下,如何使用PHP7连接Oracle 12C,所以关于Oracle的安装和配置,请自行百度或Google.

按照这个教程,基本能解决大多数的连接Oracle报错的问题!

准备工作:(64位为例,所有所需工具、文件,没有特殊说明的,都要是64位的,且版本号要严格对应,否则可能发生未知的各种错误)

1、安装并配置好Oracle 12C。

2、以PhpStudy为例,其他LAMP工具原理一样。

3、Oracle官方对应的Instant Client版本。建议下载Basic。

4、严格对应PHP版本号(如7.0.21)的三个dll文件:php_pdo_oci.dll、 php_oci8_12c.dll、php_oci8.dll

好,进入正题,下面就开始配置,使PHP成功连接Oracle。

1、打开PHP的扩展,php_pdo_oci.dll、 php_oci8_12c.dll、php_oci8.dll这三个都要打开。

然后查看phpinfo

Windows下PHP7/5.6以上版本 如何连接Oracle 12c,并使用PDO_根目录

 


将图上标注的路径,复制下来。


打开CMD 执行: mkdir c:\php-sdk\oracle\x64\instantclient_12_1\sdk ,建好目录。


 


2、将准备好的Instant Client解压,然后把根目录下的所有文件,拷贝到上面建好的sdk目录下。(重要)


Windows下PHP7/5.6以上版本 如何连接Oracle 12c,并使用PDO_oracle_02


 



3、创建环境变量

Path中,增加 C:\php-sdk\oracle\x64\instantclient_12_1\sdk

ORACLE_HOME = C:\php-sdk\oracle\x64\instantclient_12_1\sdk

TNS_ADMIN = C:\php-sdk\oracle\x64\instantclient_12_1\sdk

4、拷贝文件:

1> 将C:\php-sdk\oracle\x64\instantclient_12_1\sdk 目录下的文件,拷贝到Apache的bin目录

2> 同样,将上述文件,拷贝到 PHP的根目录下。

重启Apache服务即可。

以Yii2为例:


Windows下PHP7/5.6以上版本 如何连接Oracle 12c,并使用PDO_apache_03

配置好DSN后,测试查询,一切正常:

Windows下PHP7/5.6以上版本 如何连接Oracle 12c,并使用PDO_版本号_04

 


至此,教程结束。


 


注:如果此时还不行,那就要将C:\php-sdk\oracle\x64\instantclient_12_1\sdk下的文件,拷贝致windows/sysWoW64下(32位的在system32下)