服务器部署php环境调用oracle,以及oracle的覆盖问题

1. php的ext文件夹里只有php_oci8_12c.dll,只支持oracle 12c版本的数据库,因此只能自己下载11g的扩展文件添加进ext里

下载链接:https://pecl.php.net/package/oci8/2.0.8/windows

根据所安装php的版本和window系统位数(32位,64位)下载不同的文件,,那就要先查看php是ts是nts。我的php是ts的,一开始没注意这个问题下载了nts, 注:如果报错找不到php5.dll 需要注意下载文件是 ts还是nts的。下载后把里面的php_oci8_11g.dll解压到php的ext文件夹。

2. 打开php.ini添加保存php_oci8_11g.dll扩展

3. 按照window系统位数下载oracle instant client

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

下载后解压,我的路径是C:\instantclient_12_1,然后把路径添加至系统环境变量。

4.打开php脚本 echo phpinfo();

5.保存后重启或开启Apache,访问脚本查看oci8扩展是否已添加,如下图显示表示已成功开启扩展,此时可尝试连接oracle。


注:当服务器已存在oracle服务时,低版本覆盖高版后,提示“ORA-12705: Cannot access NLS data files or invalid environment specified 错误”

需要 win+r 打开运行 输入"regedit" 找到ORACLE下低版本删除,


    在环境变量里添加 NSL_LANG,

昨天因为用oralce9覆盖了之前安装的oracle11.2,一直提示ora-12705 报错,以上都是网上教程,自己整理一下,基本上可以解决安装oralce过程中遇到的问题

你可能感兴趣的:(服务器部署php环境调用oracle,以及oracle的覆盖问题)