IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

Linux 下 PHP 5.2.x 连接 SQL Server 数据库 FreeTDS 配置笔记

回忆未来 2010-06-27 22:24:52 累计浏览 10,986 次
本机暂存
  CentOS 5.4 Linux 下的 PHP(FastCGI) 需要连接相关部门的SQL Server 2000数据库,配置了扩展FreeTDS扩展。

  1、编译安装FreeTDS
mkdir -p /data0/software/
cd /data0/software/
wget ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
tar zxvf freetds-stable.tgz
cd freetds-0.82/
./configure --prefix=/usr/local/webserver/freetds --with-tdsver=8.0 --enable-msdblib
make && make install
cd ../

echo "/usr/local/webserver/freetds/lib/" > /etc/ld.so.conf.d/freetds.conf
ln -s /usr/local/webserver/freetds/lib/libsybdb.so.5.0.0 /usr/local/webserver/freetds/lib/libsybdb.so.4
/sbin/ldconfig

rm -f /usr/local/webserver/freetds/etc/freetds.conf
vi /usr/local/webserver/freetds/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


  2、编译安装PHP自带MSSQL扩展
  进入本地已存在的php-5.2.XX源码包目录:
cd /data0/software/php-5.2.XX/ext/mssql/
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-mssql=/usr/local/webserver/freetds/
make && make install


  3、在php.ini配置文件中增加mssql.so
vi /usr/local/webserver/php/etc/php.ini

  增加一行:
引用
extension = "mssql.so"


  4、重启PHP FastCGI
/usr/local/webserver/php/sbin/php-fpm restart


  5、测试文件(test_mssql.php):
  1. <?php   
  2. header("Content-type: text/html; charset=utf-8");   
  3. $msdb=mssql_connect("mssql.yourdomain.com:1433","username","password");   
  4. if (!$msdb) {   
  5.         echo "connect sqlserver error";   
  6.         exit;   
  7. }   
  8. mssql_select_db("database_name",$msdb);   
  9. $result = mssql_query("SELECT top 5 * FROM table"$msdb);   
  10. while($row = mssql_fetch_array($result)) {   
  11.         var_dump($row);   
  12. }   
  13. mssql_free_result($result);   
  14. ?>  

同分类推荐文章

  1. Vibe新开源项目 - Vaala AI Gateway (2026-05-17 02:10:19)
  2. SmartPerfetto 架构文章 Q&amp;A:8 个深度技术问答 (2026-04-10 11:00:00)
  3. 让 AI 把我的 PHP 博客重写成 Go (2026-03-27 18:33:54)

查看更多 后端 文章 →

建议继续学习

  1. 使用gettext来支持PHP的多语言 (累计阅读 39,190)
  2. WordPress插件开发 -- 在插件使用数据库存储数据 (累计阅读 29,091)
  3. Paypal接口详细代码(PHP版,非API接口) (累计阅读 19,347)
  4. Linux如何统计进程的CPU利用率 (累计阅读 16,210)
  5. 我的 RHCA 之路 (累计阅读 13,930)
  6. 我的PHP,Python和Ruby之路 (累计阅读 13,068)
  7. Linux内存点滴 用户进程内存空间 (累计阅读 13,059)
  8. 给程序员新手的一些建议 (累计阅读 13,026)
  9. Linux 性能监控、测试、优化工具 (累计阅读 12,955)
  10. 关于linux内存free的一些事情 (累计阅读 12,756)