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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM