Windows和linux下php连接MSSQL数据库

windows系统下,php5.3以下的支持mssql的扩展。一般集成环境都有,不多介绍。本文主要介绍PHP5.3以上的扩展


一、Windows下

    1.下载微软的支持扩展。sqlserver.zip

    2.下载Microsoft SQL Server 2012 Native Clientmsodbcsql.zip

    3.把微软的扩展dll文件,根据你的php版本,解压到你的php安装目录ext下,并增加php.ini代码

extension=php_pdo_sqlsrv_54_ts.dll(根据你的php版本来添加)
extension=php_sqlsrv_54_ts.dll

    4.用sqlsrv_connect连接测试

$connection = array(
            'UID'                => 'sa',
            'PWD'                => '123456',
            'Database'            => 'test',
            'ConnectionPooling' =>  0,
            'CharacterSet'        => 'utf8',
            'ReturnDatesAsStrings' => 1
        );
$conn = sqlsrv_connect('127.0.0.1', $connection);
if(!$conn)print_r(sqlsrv_errors());
return $conn;

二、Linux下(centos为例)

    1.下载freetds支持,下载链接ftp://ftp.freetds.org/pub/freetds/stable/ 我需要支持SQLSERVER 2008所以需要0.9.5版本的,因为这个freetds的TDS version是7.3的,其他的默认最高只有5.0

    2.

tar -zxvf freetds-0.95.tar.gz 
cd freetds-0.95
 ./configure  --prefix=/usr/local/freetds --with-tdsver=7.3 (这个参数是重点)
 make && make install

    3.进入你的php源码包(要和现运行的php版本号一样)

cd /php-5.3.28/ext/mssql/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds
make  && make install

    4.默认情况下是安装完成后,会直接将mssql.so文件拷贝到你的php扩展文件夹中,如果没有请手工复制。

    5.php.ini添加扩展支持extension=mssql.so;

    6.

vi /usr/local/freetds/etc/freetds.conf
添加
[test]    #这个名称请自己定义,php代码中要用
host = 127.0.0.1   
port = 1433
tds version = 7.0

    7.php测试

<?php    
    $server = 'test';#刚刚定义的名称
    $link = mssql_connect($server, 'sa', '123456');    
    if (!$link) {    
        die('Something went wrong while connecting to MSSQL');    
    }    
?>