PHP Connect Oracle Configuration

数据库环境 : red flag linux dc 4.1 + oracle 9.2.0.4

PHP环境:win 2000 server sp4 + IIS 5 +php 5.2

过程 :1、 安装完php 5.2 后,mysql 正常, 安装phpbb ,正常。

2、由于php 5.2 抛弃了php_oracle.dll , 只剩下 php_oci8.dll,所以只能开启php_oci8.dll 扩展,修改php.ini 后,重新启动IIS,连接ORACLE失败, 提示找不到oci_connect 的定义。

3、baidu,google多方查找, 分别实验:关键目录复制,PATH 设置, ORACLE_HOME 、ORACLE_SID设置,msvcr71.dll 复制,后来在一些高人的帖子,发现问题应该出现在 oracle 的oci.dll,用了depend工具分析php_oci8.dll,发现在调用oci.dll 出错,OCILobRead2 函数是红色,按这个东东再查找帖子,发现有个牛人在骂oracle , 原来php5.2 的php_oci8.dll 必须要装oralce 10g 以上的client 才可以 , 因为OCILobRead2在oracle 10g的oci.dll 才有定义, oracle 支持建议安装oracle 10g client ,,

4、那位牛人自己动手, 修改了DLL , 咱没这个能力,只有老实下了oracle 10g client 的basic 版本, 30多M , 解压,发现没有安装文件 ,看了文档,建议是新开个目录,复制这些文件,把该目录加到PATH中。按照文档完成。重新启动IIS,这下子,PHP不提示错误了, 但ORALCE连接还是失败 , 提示没有可用的TNSNAME ,我的ORACLE 9I CLIENT还是正常的 ....

5、最后, 我把10g 的相关文件 在安全模式下覆盖了9i 的bin目录下的文件, 重起WIN。

6、测试,连接成功, 又发现问题, 乱码 ...

7、再次baidu , google , 把oci_connect 设定成对应的汉字编码。

8、成功!

你可能感兴趣的:(PHP Connect Oracle Configuration)