Total Pageviews

Wednesday, 4 October 2017

Linux上,PHP连接SQLServer

一、软件包
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的情况:
打开php.in将mssql.secure_connection = Off改为on
-------------

FreeTDS的安装与配置


[导读]官方网站:http://www.freetds.org版本:0.64下载地址:http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz这个软件能够用Linux和Unix连接MS SQLServer和Sybase数据库。 二、安装与配置2.1编译安...
官方网站:http://www.freetds.org
版本:0.64
下载地址:http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
这个软件能够用Linux和Unix连接MS SQLServer和Sybase数据库。

二、安装与配置

2.1编译安装freetds:

$ tar zxvf freetds-stable.tgz(解压)
$ ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib
$ make
$ make install

解释:
    安装freetds到目录/usr/local/freetds:--prefix=/usr/local/freetds
    支持MSSQL2000:--with-tdsver=8.0 --enable-msdblib

//2.2配置FreeTds的库文件

//将freetds的库文件所在路径配置到LD_LIBRARY_PATH参数中:

//$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/freetds/lib/:


设置bin路径

$vi /root/.bashrc

添加内容如下:

export FREETDS=/usr/local/freetds
export $PATH="$PATH:$FREETDS/bin"

注意: freetds的压缩包不能放到VM的共享目录下解压和编译安装 

freeTDS 安装过程:
假定FreeTDS的源代码目录为。
假定FreeTDS的安装目录为,默认为/usr/local/src。
下面配置FreeTDS,--prefix为设置FreeTDS的安装目录,--with-tdsver是设置TDS版本,--enable-msdblib为是否允许Microsoft数据库函数库:
cd
./configure --prefix= --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld --enable-shared --enable-static
编译并安装:
make
make install
cd ..
FreeTDS默认安装在/usr/local/freetds目录当中,库文件在相应的lib目录下。
编辑/etc/ld.so.conf,在其中插入一行:
/usr/local/freetds/lib
然后运行以下指令使更改生效:
ldconfig

No comments:

Post a Comment