按照网上的说法
1、extension=php_mssql.dll的注释符号去掉
2、mssql.secure_connection = Off改为on
3、php_mssql.dll拷贝到php.in中extension_dir 指定的目录或者系统system3
4、更新新ntwdblib.dll为合适于sql2005的版本2000.80.194.0无法加载mssql扩展。请高手指点~

解决方案 »

  1.   

    1. 检查Apache的错误日志("安装目录\logs\error.log")内容,加载PHP时具体什么错误。
    2. <?php phpinfo(); ?>保存为php文件,放到Apache的根目录下,用浏览器打开这个文件看看php的配置中有没有加载mssql扩展。先确认以上两点,将相关信息贴出来再进一步分析。
      

  2.   

    phpinfo 看看 mssql 是否启用了。
      

  3.   

    PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\\php5\\ext\\php_mssql.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
    PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\\php5\\ext\\php_pdo_mssql.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
    [Sun Jul 18 13:19:30 2010] [notice] Child 2420: Child process is running
    [Sun Jul 18 13:19:30 2010] [notice] Child 2420: Acquired the start mutex.
    [Sun Jul 18 13:19:30 2010] [notice] Child 2420: Starting 250 worker threads.
    [Sun Jul 18 13:19:30 2010] [notice] Child 3816: Waiting for 250 worker threads to exit.
    [Sun Jul 18 13:19:30 2010] [notice] Child 2420: Starting thread to listen on port 80.
    [Sun Jul 18 13:19:30 2010] [notice] Child 3816: All worker threads have exited.
    [Sun Jul 18 13:19:31 2010] [notice] Child 3816: Child process is exiting
      

  4.   

    php_mssql.dll和php_pdo_mssql.dll 已经在C:\php5\ext目录下了
      

  5.   

    好象这两个库不是适合该PHP版本的库。所以不能加载
      

  6.   

    请试用了以后再做评论!!!!
    随php任何版本的ntwdblib.dll可以适配任何版本的mssql,至多缺少了功能
      

  7.   


    以前试过,
    ntwdblib.dll这个没试过,但这个php_mssql.dll试过,我试的时候不行。
    可能是我实验的有问题吧。
      

  8.   

    网上针对这条信息的解决方案就是复制ntwdblib.dll到C:\windows\system32目录,这个要注意windows的版本,比如:你是windows2003OS,那么也要从其他的windonws2003系统中复制这个文件。更进一步的方案是:
    把php_mssql.dll文件用VC6.0工具Depends打开,查看php_mssql.dll依赖哪些动态库,并搜索依赖的动态库是否存在。