基于Linux下PHP连接SQL Server的FreeTDS配置

开发 后端
CentOS 5.4 Linux 下的 PHP(FastCGI) 需要连接相关部门的SQL Server 2000数据库,配置了扩展FreeTDS扩展。

  CentOS 5.4 Linux 下的 PHP(FastCGI) 需要连接相关部门的SQL Server 2000数据库,配置了扩展FreeTDS扩展。

  1、编译安装FreeTDS

  1. mkdir -p /data0/software/  
  2. cd /data0/software/  
  3. wget ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz  
  4. tar zxvf freetds-stable.tgz  
  5. cd freetds-0.82/  
  6. ./configure --prefix=/usr/local/webserver/freetds --with-tdsver=8.0 --enable-msdblib  
  7. make && make install  
  8. cd ../  
  9.  
  10. echo "/usr/local/webserver/freetds/lib/" > /etc/ld.so.conf.d/freetds.conf  
  11. ln -s /usr/local/webserver/freetds/lib/libsybdb.so.5.0.0 /usr/local/webserver/freetds/lib/libsybdb.so.4  
  12. /sbin/ldconfig  
  13.  
  14. rm -f /usr/local/webserver/freetds/etc/freetds.conf  
  15. vi /usr/local/webserver/freetds/etc/freetds.conf  

  输入以下内容:

  引用

  1. [global]  
  2.         # TDS protocol version  
  3. ;       tds version = 4.2  
  4.  
  5.         # Whether to write a TDSDUMP file for diagnostic purposes  
  6.         # (setting this to /tmp is insecure on a multi-user system)  
  7. ;       dump file = /tmp/freetds.log  
  8. ;       debug flags = 0xffff 
  9.  
  10.         # Command and connection timeouts  
  11. ;       timeout = 10 
  12. ;       connect timeout = 10 
  13.  
  14.         # If you get out-of-memory errors, it may mean that your client  
  15.         # is trying to allocate a huge buffer for a TEXT field.  
  16.         # Try setting 'text size' to a more reasonable limit  
  17.         text size = 64512 
  18.  
  19.         host = mssql.yourdomain.com  
  20.         port = 1433 
  21.         tds version = 8.0  
  22.         client charset = UTF-8 

  2、编译安装PHP自带MSSQL扩展

  进入本地已存在的php-5.2.XX源码包目录:

  1. cd /data0/software/php-5.2.XX/ext/mssql/  
  2. /usr/local/webserver/php/bin/phpize  
  3. ./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-mssql=/usr/local/webserver/freetds/  
  4. make && make install  

  3、在php.ini配置文件中增加mssql.so

  1. vi /usr/local/webserver/php/etc/php.ini  

  增加一行:

  引用

  1. extension = "mssql.so" 

  4、重启PHP FastCGI

  1. /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. PHP中发现奇异Bug 导致Web服务器崩溃
  2. 解析PHP与SQL注入攻击
  3. PHP生成随机字符串的三种方法
责任编辑:陈贻新 来源: 张宴的博客
相关推荐

2011-03-09 10:50:27

Linuxapachephp

2010-09-14 13:08:11

配置无线连接

2010-11-08 16:56:52

SQL Server绑

2010-11-08 17:01:53

SQL Server绑

2010-11-10 10:09:40

2011-03-08 11:11:38

LinuxLAMP安装

2011-03-08 11:11:38

LinuxLAMP安装

2010-11-08 15:47:01

SQL Server外

2010-11-11 13:51:36

SQL Server内

2010-07-22 10:52:21

SQL Server数

2010-11-08 15:21:17

SQL Server连

2010-11-08 14:40:46

SQL Server连

2016-11-21 13:35:04

LinuxSQL Server微软

2023-08-02 10:58:18

SP_WHOSQL Server

2011-03-29 13:10:56

SQL Server

2010-10-20 17:37:23

SQL Server连

2009-08-31 09:23:34

SQL Server 云计算

2009-04-16 17:34:19

2009-06-14 16:59:16

ibmdwWebSphere

2023-10-19 08:16:22

LinuxSQL Server
点赞
收藏

51CTO技术栈公众号