首页 > 代码库 > php使用PDO_OCI连接oracle,php-fpm下乱码,命令行正常的解决方法

php使用PDO_OCI连接oracle,php-fpm下乱码,命令行正常的解决方法

屁颠屁颠本地环境

win7+nginx1.5.9+php5.4.15+pdo_oci

做完,结果正常.


上传测试.

centos5.9+nginx1.5.9+php5.4.14+pdo_oci

结果:命令行能够正常,fast_cgi模式正常


故升级php版本到最新 php5.4.33 重装

结果:命令行正常并且不乱码,fast_cgi连接正常,但是乱码.


各种google,baidu,都没找到解决方法.

又安装一个和正式环境一致的php版本 php5.4.19

结果:依旧fast_cgi连接正常,但是乱码.


肯定是环境变量有问题.

最后,找到一篇文章,说php-fpm中可以设置环境变量,那试试吧.在最后面加上几行:


env[ORACLE_HOME]        =/usr/lib/oracle/11.2/client64/

env[LD_LIBRARY_PATH]    =/usr/lib/oracle/11.2/client64/lib/

env[NLS_LANG]           ="AMERICAN_AMERICA.AL32UTF8"


重启php-fpm

结果:一切正常.


php使用PDO_OCI连接oracle,php-fpm下乱码,命令行正常的解决方法