1. 安装PHP的SQL Server驱动
1 yum search freetds
2 yum install freetds php-mssql
或者下载编译安装
1 [root@server ~]# wget ftp:
2 [root@server ~]# tar -zxvf freetds-stable.tgz
3 [root@server ~]# ./configure
4 [root@server ~]# make
5 [root@server ~]# make install
2.配置FreeTDS
打开 FreeTDS 配置文件(/etc/freetds.conf,如果是编译安装可能在其他位置),在配置文件末尾可以看到一些简单的配置案例,
1 [mybigserver]
2 host = dbserver.example.org
3 port = 1433
4 tds version = 7.0
"mybigserver"
是你的服务器的简称标识, 随便你怎么命名, 只要在使用的时候记得它就可以. host 和 port 就不用赘述了, 对于MS SQL SERVER , tds version 应该是 7.0 , 而 对于 Sybase ,tds version 应该是 5.0.
3. 测试能否链接到服务器
1 # ping 192.168.1.33
1 # telnet 192.168.1.33 1040
2 Trying 192.168.1.33...
3 Connected to 192.168.1.33.
4 Escape character is
'^]'
.
1 # tsql -H 192.168.1.33 -p 1040 -U my_mssql_username
2 locale is
"en_US.UTF-8"
3 locale charset is
"UTF-8"
4 Password: my_mssql_password
5 1>
use
<em>mydatabase</em>
6 2> select * from <em>mytable</em>
7 3> go
1 # tsql -S mybigserver -U my_mssql_username
2 locale is
"en_US.UTF-8"
3 locale charset is
"UTF-8"
4 Password: my_mssql_password
5 1>
如果能得到上面的运行结果,说明freetds运行正常。
4. 测试PHP是否正常链接
如果以上步骤都没有问题,下面代码测试PHP是否能正常链接:
view sourceprint?
1 <?php
2
$server
=
'mybigserver '
;
3
$link
= mssql_connect(
$server
,
'sa'
,
'phpfi'
);
4
if
(!
$link
) {
5
die
(
'Something went wrong while connecting to MSSQL'
);
6 }
7 ?>
这里,如果直接根据文档说明,使用mssql_connect(xxx,xxx,xxx)会得到一个让人抓不着头脑的错误消息“mssql_connect(): Unable to connect to server",这里主要是因为Centos系统开启了selinux,并且selinux默认阻止apache发起远程链接,可以执行如下命令解决:
1 setsebool -P httpd_can_network_connect=1