×

Centos+PHP5.3.6+Freetds0.9.1安装并配制mssql(2008)支持

chen chen 发表于2021-07-27 22:41:35 浏览561 评论0

抢沙发发表评论

.安装freetds,目前稳定版为0.9.1
官方下载地址:http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
 
#wget  http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
#tar zxvf freetds-stable.tgz
#cd freetds-0.91/
# ./configure --prefix=/usr/local/freetds0.91  --enable-msdblib  --with-tdsver=8.0  //目前最高好像只支持到7.1,但可写到8.0,可用 configure--help 查看
#make &&make install   
 
修改配制文件
#vi /usr/local/freetds0.91/etc/freetds.conf
 
[global]
        # TDS protocol version
;       tds version = 4.2
        # Whether to write a TDSDUMP file for diagnostic purposes
        # (setting this to /tmp is insecure on a multi-user system)
;       dump file = /tmp/freetds.log
;       debug flags = 0xffff
        # Command and connection timeouts
;       timeout = 10
;       connect timeout = 10
        # If you get out-of-memory errors, it may mean that your client
        # is trying to allocate a huge buffer for a TEXT field.
        # Try setting 'text size' to a more reasonable limit
        text size = 64512
        host = mssql.yourdomain.com
        port = 1433
        tds version = 8.0
        client charset = UTF-8
 
执行:
#echo "/usr/local/freetds0.91/lib/" > /etc/ld.so.conf.d/freetds.conf
#ln -s /usr/local/freetds0.91/lib/libsybdb.so.5.0.0 /usr/local/freetds0.91/lib/libsybdb.so.4
#/sbin/ldconfig
 二,安装配制php mssql支持
#cd /data/software/php5.3.6/ext/mssql
#/usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds0.91/
#make && make install   //若编译提示  php_mssql.h: “typedef‘LPBYTE’重定义”  请注释或删除此文件中的该行再试.
 
配置 php.ini
# vi /usr/local/php/lib/php.ini
[mssql]下面加入:
extension = "mssql.so"
 
重启PHP FastCGI 即可. phpinfo中可看到:
 
 
PHP测试代码: 
<?php  
header("Content-type: text/html; charset=utf-8");  
$msdb=mssql_connect("mssql.yourdomain.com:1433","username","password");  
if (!$msdb) {  
        echo "connect sqlserver error";  
        exit;  
}  
mssql_select_db("database_name",$msdb);  
$result = mssql_query("SELECT top 5 * FROM table", $msdb);  
while($row = mssql_fetch_array($result)) {  
        var_dump($row);  
}  
mssql_free_result($result);  
?>  
 


群贤毕至

访客