再卑微的理想,也比没有好。

Linux上PHP连接SQLServer

技术文档 7154浏览 0评论

一、软件包
a) freetds-stable.gz
b) php安装包:php-5.2.17.tar.gz
FreeTDS的功能主要是在Liunx下能够访问Sybase及MS SQL,官方网站是:http://www.freetds.org/

二、安装步骤
1、安装FreeTDS
要支持MSSQL2000,就要加以下两个参数:--with-tdsver=8.0 --enable-msdblib

1
2
3
4
5
tar zxvf freetds-stable.gz
cd freetds-0.82/
./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib
make
make install


2、安装PHP,注意要启用FreeTDS :--with-mssql=/usr/local/freetds

1
2
3
4
tar zxvf php-5.2.17.tar.gz
cd php-5.2.17
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --enable-safe-mode --enable-mbstring --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql/ --with-zlib --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --without-pear --enable-ftp --enable-zip --enable-sockets --with-mssql=/usr/local/freetds
make && make install

查看一下phpinfo,如下图所示的话应该就没有问题了:

3、设置FreeTDS

vi /usr/local/freetds/etc/freetds.conf

增加如下代码

1
2
3
4
5
[server73]
host = 192.168.0.141
port = 1433
tds version = 8.0
client charset = utf8

写一个简单程序测试一下:

1
2
3
< ?
$msconnect = mssql_connect('192.168.0.141','sa','123456');
?>

运行没有报错,则表示连接正常!

三、说明
a) 首先要保证SQLSERVER 2000/2005可以远程连接。可以telnet ip地址 1433进行测试1433端口是否打开。注意防火墙,SQLEXPRESS2005的端口是动态的,不是1433端口。需要先设置成1433静态端口。
b)出现mssql_connect() Unable to connect to server的情况:
(1)请参照Windows下PHP连接SQLServer 2005一文中的相关说明,对SQLSERVER服务器进行设置;
(2)打开php.in将mssql.secure_connection = Off改为on

四、相关阅读:
1、Windows下PHP连接SQLServer 2005
2、FreeTDS的安装与配置

转载请注明:自由的风 » Linux上PHP连接SQLServer

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址