Windows安装php Oracle扩展

前言

去IOE的浪潮下,很多大型公司古董级的系统还在使用IOE设备。新东家有些年头的系统都是使用Oracle数据库,为了省事,新架构下的业务直接通过编程语言API操作Oracle数据库,安装相关扩展对于第一次折腾的人来说,还是会碰到不少坑,这里做个总结。

 

下载Oracle客户端Instant Client

windows只支持32位,不支持64位
http://www.oracle.com/technetwork/topics/winsoft-085727.html

 

解压
直接解压即可,无需安装

 

设置环境变量
ORACLE_HOME 值为instant client所在目录路径

 

开启
PHP oci扩展 pdo扩展

 

解决乱码
乱码产生的原因是oracle客户端连接时跟oracle数据库使用的编码不一致
1 查询数据库使用的编码
select * from V$NLS_PARAMETERS;
变量NLS_CHARACTERSET是数据库使用的编码
2 设置oracle数据库编码系统环境变量
NLS_LANG=American_America.ZHS16GBK


3 设置Linux系统环境变量
a.修改文件/etc/profile
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
b.修改生效
source /etc/profile
c.查看系统变量
env | grep 'NLS'

 

后记
1 windows系统环境变量更改之后,需要重启电脑才会生效

2 linux系统安装oci和pdo_oci扩展

http://www.cnblogs.com/huangzhen/archive/2011/09/14/2176607.html

 

参考资料
【1】php连接oracle设定字符集,避免乱码
http://blog.csdn.net/linghao00/article/details/7401802
【2】Using PHP OCI8 with 32-bit PHP on Windows 64-bit
https://blogs.oracle.com/opal/entry/using_php_oci8_with_32-bit_php
【3】ORA-12705: Cannot access NLS data files or invalid environment
http://stackoverflow.com/questions/7700330/ora-12705-cannot-access-nls-data-files-or-invalid-environment
【4】linux环境变量
http://www.cnblogs.com/growup/archive/2011/07/02/2096142.html
http://www.cnblogs.com/Neddy/archive/2011/03/01/1968018.html

转载于:https://www.cnblogs.com/wadeyu/p/5555945.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值