快速业务通道

linux下php 加装mssql模块

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-07

作者:coralzd 网址:http://www.freebsdsystem.org/php_mssql

在linux 下的php连接mssql,就需要安装第三方的freetds了.
1、安装配置freetds

  1. wget http://mirrors.xmu.edu.cn/ubuntu/archive/pool/main/f/freetds/freetds_0.82.orig.tar.gz
  2. tar zxf freetds_0.82.orig.tar.gz
  3. cd freetds_0.82
  4. ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 -–enable-msdblib -–enable-dbmfix -–with-gnu-ld -–enable-shared -–enable-static
  5. make && make install

2、编译php的mssql模块

  1. cd /path/to/php/source 进入PHP源码目录
  2. cd ext/mssql 进入MSSQL模块源码目录
  3. /usr/local/webserver/php/bin/phpize 生成编译配置文件
  4. ./configure –with-php-config=/usr/local/webserver/php/bin/php-config –with-mssql=/usr/local/freetds
  5. make
  6. make install
  7. 编译完成生成 mssql.so,修改php.ini,将该模块载入:
  8. extension=”/path/to/extension/mssql.so”

3、配置mssql
cd /usr/local/freetds/etc
编辑文件:
vi freetds.conf

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

4、测试php连接mssql

  1. <?php
  2. try {
  3. $hostname=''218.x.x.x'';//注意,这里和上面不同,要直接用IP地址或主机名
  4. $port=1433;//端口
  5. $dbname="user";//库名
  6. $username="database";//用户
  7. $pw="passwd";//密码
  8. $dbh= new PDO("dblib:host=$hostname:$port;dbname=$dbname","$username","$pw");
  9. } catch (PDOException $e) {
  10. echo"Failed to get DB handle: ".$e->getMessage() ."n";
  11. exit;
  12. }
  13. echo''connent MSSQL succeed'';
  14. $stmt=$dbh->prepare("select * from z_2010pinjiu_user");
  15. $stmt->execute();
  16. while ($row=$stmt->fetch()) {
  17. print_r($row);
  18. }
  19. unset($dbh); unset($stmt);
  20. ?>

本文出自 “晓辉” 博客,请务必保留此出处http://coralzd.blog.51cto.com/90341/525106

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号