php5.2 加载mssql 模块失败
由于公司用到mssql 2000 ,同时需要到php 去连接MSSQL2000 。从php5.3开始,这个接口已经是微软自己在做了,要用微软自己提供的接口去连接MSSQL , 那必然要修改代码,开发不愿意。php5.2加载模块的时候一直加载不上,也未提示报错,phpinfo 函数查看的时候怎么也没有mssql 这个模块。
大家都知道,winserver 有很多不确定性,就在刚才终于搞定了。
写一下排错的过程,首先检查php.ini 里面extension=php_mssql.dll,extension=php_pdo_mssql.dll,extension=php_pdo.dll是否 被注释掉
然后搜索这几个dll 找到复制到system32 下面
然后检查这几个模块依赖的dll 文件在system32 下是否找到
php5ts.dll
ntwdblib.dll
没有就想办法copy 到c:\system32 目录下面去
特别要注意的是ntwdblib.dll 这个文件 php5 安装包里面默认是2000.2.80
这个可能连不上 2000需要的是2000.80.1994 一般安装完SQL 2000 这个dll 库在系统库里面是可以找得到的,搜索一下,没有的话去别的机器上拷贝一个也行。
如果是64位系统的话可能还要注意 ntwdblib.dll 在SYswo64 目录下一定要存在,否则也会加载不了的。最先我也是只复制到system32 目录下,可是怎么都加载不起来。 这些检查工作做好后,重启IIS 或者apache 通过phpinfo 函数就可以看到mssql 模块了
方便大家 找ntwdblib.dll 文件 ,在附件上传了这个dll