首先查看自己的php版本,php 在5.3以后便不再支持对SQL Server 的连接,所以这时需要ms提供的第三方扩展了
注:虽然php5.2提供的php_mssql.dll方法是可以连接到SQL
Server 数据库的(这种连接就自己去查吧,网上还是比较多的),但是仅仅只是局限于SQL Server 2000。所以如果需要连接2005或者2008以上的版本,那么还是需要下载ms的扩展
ms扩展下载
https://msdn.microsoft.com/en-us/library/cc296170.aspx
下载时注意选择自己对应的php版本号(这个在页面有说明)
下载后安装释放程序(安装地址以php.ini中的extension_dir = 为准 ),里面一些类似如下的有以下文件:
php_pdo_sqlsrv_52_nts.dll
php_pdo_sqlsrv_52_ts.dll(对应php 5.2.x版本线程安全)
php_sqlsrv_52_nts.dll
php_sqlsrv_52_ts.dll(对应php 5.2.x版本线程安全)
SQLServerDriverForPHP.chm(手册,英文够好的话,可以看看)
SQLServerDriverForPHP_License.rtf
SQLServerDriverForPHP_Readme.htm(自述文件)
关于VC6和VC9的区别
VC6 版本是使用 Visual Studio 6 编译器编译的,如果你是在windows下使用Apache+PHP的,请选择VC6版本。
VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你是在windows下使用IIS+PHP的,请选择VC9版本。
开始配置
1、在php.ini的Windows Extensions后面加上:
extension=php_sqlsrv_53_ts.dll (以你选择的文件名为准)
extension=php_pdo_sqlsrv_53_ts.dll
2、再重启Apache服务。
最后测试一下是否成功,在PHP中执行phpinfo()的查看sqlsrv、看图画红线处、如图所示这样就表示连接成功了!!
用以下代码可以用来测试连接是否成功
<?php
$serverName = "(localhost)";
$connectionInfo = array("Database"=>"test","ConnectionPooling"=>false);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn == false)
{
echo "连接失败!";
die( print_r( sqlsrv_errors(), true));
}
?>
一般情况下运行以后会报错!
Connection could not be established. Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -49 [code] => -49 [2] => This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012
Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712 [message] => This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver
for x86: http://go.microsoft.com/fwlink/?LinkId=163712 ) [1] => Array ( [0] => IM002 [SQLSTATE] => IM002 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 [message] => [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 ) )原因:缺少驱动
下载页面:https://msdn.microsoft.com/en-us/library/cc296170.aspx
在页面中这么一段话
本人英语渣渣,大致的意思就是
3.2或者3.1版本的需要下载Microsoft
ODBC Driver 11 for SQL Server.3.0版本下载 SQL
Server 2012 feature pack page.2.0版本则需要按系统位数来下载:
下载安装完成以后,ok程序就可以运行了。
最后吐槽下:php连接sql server简直就是坑爹啊,太麻烦了