xampp 1.7.1的PHP版本5.2.9连接oracle的PDO_OCI时,报错:Unable to load dynamic library php_pdo_oci.dll

由于系统比较老旧,之前开发的环境为xampp 1.7.1,客户需要连接oracle,按照经验,启动了extension=php_oci8.dll和extension=php_pdo_oci.dll,结果报如下错误:

PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\xampp_a\\php\\ext\\php_pdo_oci.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0

百度了N多经验,没有解决,但有一点是对的,就是可能本xampp的版本自带的php_pdo_oci.dll文件不匹配,所以去网上下载了php_pdo_oci.dll文件,是一个打包的,支持PHP各种版本的都有,感谢那些先者们!跪拜~

不知道到底用哪一个,只能一个个的实验,最终32版本php 5.2.4.4-5.2.66都合适,正常启动。

如何配置还需要参照我的另一篇文章:PHP搭建远程连接Oracle数据库(xampp 1.8或PHP 5.3以上版本)

在时间代码中,发现报错:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: OCIEnvNlsCreate: Check the character set is valid and that PHP has access to Oracle libraries and NLS data (ext\pdo_oci\oci_driver.c:560)' in D:\php_project\fda\oracle\config.php:27 Stack trace: #0 D:\php_project\fda\oracle\config.php(27): PDO->__construct('oci:dbname=//19...', 'FDA_FMG3', 'FDA_FMG3') #1 D:\php_project\fda\oracle\d.php(2): include('D:\php_project\...') #2 {main} thrown in D:\php_project\fda\oracle\config.php on line 27

尝试了无数种方案,均不行,最后猜测还是处在Oracle客户端dll(oci.dll,oraociei11.dll,orannzsbb11.dll)文件版本的问题,因为PHP 5.3一下的版本对oracle支持比较弱,而且是xampp集成化开发环境,会不会dll文件被整合到apache\bin目录下去了?一检查,发现apache\bin目录下真的有这三个文件,而且是10的版本(自带的,不支持oracle 11g),于是把instantclient_11_2目录下的这三个文件拷贝到下面,启动成功运行。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值