有的时候解决问题的办法很简单,但是我们总是往复杂的方向考虑解决问题的方法。
今天在windows2003 底下配置windows2003+Apache2.2.8+php5.2.5+mysql4.1.22, 并用oracle instant client 10.2配置连接Oracle 数据库时,怎么都没有办法加载mysql,mysqli, oci8等模块。而且重启apache,没有错误提示。
虽然oracle 有官方的指导性文件,链接在这里:
http://www.oracle.com/technology/global/cn/pub/notes/technote_php_instant.html
但是也许是人品不咋滴,在phpinfo()输出页面怎么都不出现mysql,oci8相关模块的信息。让我处于极度郁闷的状态。
解决办法:
1. mysql/mysqli无法加载的解决,其实在php安装根目录下就已经有提示了:
php >5.0.0 的php_mysql.dll模块 依赖libmysql.dll 文件。该文件已经打包在php安装文件内(在php安装根目录下)。而我需要做的是能让系统找到它,最好的方法是扔到c:/windows/system32目录下,当然取消php.ini里面的
;extension=php_mysql.dll
前面的分号注释也是必要步骤。
通过以上步骤问题成功解决。
2.oci8模块的问题:
虽然oci8模块加载的问题要比mysql稍微复杂一点,通过以上问题解决,给了我一些提示。
官方文件其实是告诉我们,要让系统找到下面三个文件,
- oraociei10.dll
- orannzsbb10.dll
- oci.dll
才能让oci8模块工作,也许是人品欠佳,怎么设系统环境变量都找不到。于是我就干脆把上面三个文件扔到c:/windows/system32,问题就这么神奇得解决了。
费了我一天的脑细胞,oracle instant client 卸了装,装了卸,真是好可怜。
本文为寻找人生的起点(http://blog.cn-ic.org)原创,如需转载,请注明出处,并保留原文链接 http://blog.cn-ic.org//?p=74。