windows系统,用php连接Oracle数据库

616 阅读2分钟
  1. 查看php配置信息,phpinfo(); (1)ArchitecturE: x64; (2)PHP Extension Build: NTS; (3)客户Oracle版本:11g; 根据自己的php版本和位数 和线程安全情况,下载对应的pdo oci扩展和php oci扩展

NTS是非线程安全 TS是线程安全

  1. 需要提前下载 Microsoft Visual studio 2013,为下载Oracle客户端作准备,下载地址: Install both x64 x64 and x86 version.

  2. 连接oracle数据库需下载客户端: (1)下载链接 [www.ora cle.com/database/technologies/instant-client/downloads.html];

image.png (2)php是64位的,那么就下载64位的(windows版本); (3)下载basic 和 sqlplus,这2个都要下载;

image.png

(4)解压后的2个文件放到同一个目录下,可以选择任意其他的磁盘,但是要保证2个解压包文件放到一起,例如:C:\oracle\instantclient_12_2:

image.png 3. 然后在C:\oracle\instantclient_12_2下新建tnsnames.ora配置文件,内容如下:

image.png 4. 右击计算机 ->属性->高级系统设置->环境变量,添加oracle下载下来的文件指定路径‘C:\oracle\instantclient_12_2’添加到系统环境变量:

image.png 5. 新增系统变量

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

TNS_ADMIN=C:\oracle\instantclient_12_2       -->> 指定tnsnames.ora所在位置

image.png

6.接下来配置php oci扩展

php连接oracle模块支持pdo_oci:

pecl.php.net/package/PDO…     PDO_OCI-1.0.tgz      Oracle Call Interface 

driver for PDO

pecl.php.net/package/oci…       oci8-2.0.8.tgz       Extension for Oracle Database,allows you to access Oracle databases;

我这边是 php 7,所以下载的路径是: pecl.php.net/package/oci… 根据自己的php版本和位数 和线程安全情况,下载对应的pdo oci扩展和php oci扩展,如下:

image.png

  1. 将php_pdo_oci.dll  和php_oci8.dll 、php_oci8_11g.dll 、php_oci8_12c.dll 放入php安装目录下的ext目录下,其中php_oci8_11g.dll和php_oci8_12c.dll根据自己要链接的oracle版本是 11g 还是12c 按需放入,如果不清楚的就一起放入;

image.png 8.然后在php安装目录内的配置文件php.ini 添加扩展代码:

extension=php_oci8.dll; extension=php_oci8_11g.dll; extension=php_oci8_12c.dll; extension=php_pdo_oci.dll;

image.png

image.png