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
msvcrt.dll
kernel32.dll

php5ts.dll所依赖的dll

kernel32.dll
advapi32.dll
msvcr71.dll
user32.dll
netapi32.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