第一次自己做网站,搭建WAMP,MSsql连不上,实在不知道是为什么。请大家帮忙看看还能是什么原因?

第一次用Win7x64+Apache2.4+MSsql2012/2008+PHP5.6.9搭建WAMP来做网站,Apache已经装好,PHP也连上了,现在卡在了连接SQL的地方。
在微软官网Microsoft Drivers for PHP for SQL Server上下载了SQLSRV32.EXE,使用了php_sqlsrv_56_ts.dll和php_pdo_sqlsrv_56_ts.dll,按着网上的各种配置要求改做的都做了,但是依然报错Fatal error: Call to undefined function sqlsrv_connect() in D:\WAMP\Apache24\htdocs\phpinfo.php on line 16,能想到的办法都试过了,还是不行,还请各位指导!_
PS:
1.ntwdblib.dll_2000.80.194.0用的这个,拷在了D:\WAMP\php下和C:\Windows\System32下。
2.这一系列操作也做了[运行 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议 Protocols, 允许命名管道 "named pipes" 和 "tcp/ip" , 右键点击 "tcp/ip",打开属性 Properties 标签 "IP addresses" ,在 TCP 动态端口 "TCP Dynamic Ports" 填入 1433 ]
3. php.ini里面 extension=php_sqlsrv_56_ts.dll extension=php_pdo_sqlsrv_56_ts.dll 都有,mssql.secure_connection = On也都有
4.apache服务器重启了很多次, httpd -k restart
5. test文件是D:\WAMP\Apache24\htdocs\phpinfo.php 内容见图片_图片说明

<connectionStrings>
    <add connectionString="server=.;uid=sa;pwd=401;database=VoteDB" name="connstr"/>
</connectionStrings>
public static DataTable GetTable(string strSql)
{
    SqlConnection conn = CreatConn();
    SqlCommand cmd = new SqlCommand(strSql, conn);
    SqlDataAdapter daap = new SqlDataAdapter(cmd);
    DataTable dtTable = new DataTable();
    try
    {
        daap.Fill(dtTable);
        if (dtTable.Rows.Count > 0)
            return dtTable;
        else
            return null;
    }
    catch (Exception ex)
    {

        throw ex;
    }
}

看看你的SQL服务器名字、密码和你在代码里写的一样不,就是一开始登录SQL服务器时你是用WINDOWS身份验证还是SA登录的

连不上数据库先看下报什么错。主要的错误有2个,一个是26一个是40
26: http://www.jb51.net/article/35929.htm http://blog.163.com/zyc951018@126/blog/static/13976289920103910222457/
40: http://www.jb51.net/article/41473.htm http://jingyan.baidu.com/article/5553fa82f76ac965a23934b0.html

Fatal error: Call to undefined function sqlsrv_connect() 参考
http://blog.csdn.net/sptoor/article/details/12409547

估计是SQL Server2008和SQL Server 2008 Express的设置小差异,没弄清楚

下载个不同的php对应的数据库扩展试试!

Call to undefined function sqlsrv_connect()

_报这个错说明你的PHP sqlserver扩展没有加载成功,用phpinfo()看一下里面有没有_sqlserver扩展的相关信息

一样的问题!网上怎么也找不到答案!!!! WAMP 版本 Apache 2.4.23 PHP 5.6.25 。微软官网上下载的扩展,php_pdo_sqlsrv_56_ts.dll,版本应该没有错。官网上也没区分64位和32位。但运行WAMP时就是加载不成功。为什么会加载不成功呢??

PHP Warning: PHP Startup: Unable to load dynamic library 'D:/wamp64/bin/php/php5.6.25/ext/php_sqlsrv_56_ts.dll' - %1 ������Ч�� Win32 Ӧ�ó���

in Unknown on line 0

找到原因了。

今天配置服务器需要用PHP和Sqlserver2008数据库,网上找了一些资料,基本上都是说需要下载微软的驱动放在ext文件夹后,再在php.ini中增加如下配置:
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_56_ts.dll
[PHP_SQLSRV]
extension=php_sqlsrv_56_ts.dll
最后重启服务器即可,但我重启了apache之后在phpinfo中还是没有看到sqlsrv的扩展,后来在百度贴吧http://tieba.baidu.com/p/3214930266中找到了问题关键:

原来微软官方提供的microsoft drivers 3.2 for php for sql server并不支持64位的php版本,一些非官方的3.0.2.2倒是单独提供了64位版本的编译,[url]http://链接:http://robsphp.blogspot.co.uk/2012/06/unofficial-microsoft-sql-server-driver.html[/url](这个在墙外打不开),
不过还好有热心网友提供了百度的分享,http://pan.baidu.com/s/1dDIRpJF,
这就是最终比较完美的解决方案了,下载好,里面会有32位和64位的扩展,解压对应php版本需要的扩展,然后在php.ini中添加extension=php_sqlsrv_版本号_线程安全版本号.dll,比如extension=php_sqlsrv_56_ts.dll,64位php亲测可行,如果是32位的还是建议使用微软官方提供的3.2ctp版的http://www.microsoft.com/en-us/download/details.aspx?id=20098

同时大家可以参考“嘿Linux”博客:
http://heilinux.blog.51cto.com/6123663/1584281