• 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

    作者:WadeYu
    出处:http://www.cnblogs.com/wadeyu/
    本文版权归本人和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    jmeter察看结果树中文乱码解决办法
    使用postman测试接口
    使用Jenkins持续集成
    Python单元测试unittest测试框架
    使用类封装一个签名规则
    Python处理URL编码
    Python中的 if __name__ == '__main__' 是什么意思?
    python发送邮件
    instruction 寻址,sib modrm
    .sv 与.svh之间的区别
  • 原文地址:https://www.cnblogs.com/wadeyu/p/5555945.html
Copyright © 2020-2023  润新知