Linux下PHP远程连接SqlServer数据库

最近项目因需要,必须连SqlServer数据库,折腾了两天,弄好了。回头看,其实挺简单的。记录一下。

首先,因为是远程连接,所以 SqlServer的允许远程相关的设置必须开启,防火墙和服务器上相应的端口(如果有做限制)也必须开启。

设置好之后,就按以下步骤安装了

一、安装Freetds

#获取Freetds安装文件
# wget  

#解压
# tar -zxvf freetds-patched.tar.gz
# cd freetds-0.95

#配置
# ./configure --prefix=/usr/local/freetds --with-tdsver=7.3 --enable-msdblib

#安装
# make && make install

#查看版本信息
# /usr/local/freetds/bin/tsql -C

#测试是否能成功连接数据库
# /usr/local/freetds/bin/tsql -H 数据库服务器IP  -p 端口号 -U 用户名 -P 密码

如果能成功连接到数据库,表示Freetds已经成功安装。

二、添加mssql扩展到PHP

#进入到扩展目录
# cd /usr/php-5.5.28/ext/mssql/

#编译mssql扩展
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds/
# make && make install

#修改PHP配置文件
# vi /usr/local/php/lib下的php.ini
添加 extension = "mssql.so"

#重启PHP
# killall php-fpm
# /etc/init.d/php-fpm

phpinfo看一下,如果有mssql这一大项,表示扩展添加成功。

最后,测试一下能否读取数据

        $conn = mssql_connect('连接名称','用户名','密码');
        $conn or die('connect failed');
        mssql_select_db('wing_test');
        $rt = mssql_query('SELECT top 5 * FROM 表名', $conn);
        while($row = mssql_fetch_array($rt,MSSQL_ASSOC))
        {
            var_dump($row);
        }
        exit;

至此,读取数据无误的话,Linux下PHP远程连接SqlServer完成。觉得太简略的可以看下这篇文章

你可能感兴趣的:(linux,PHP,远程连接,FreeTDS)