热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux系统中使PHP支持mssql数据库的配置方法

由于工作原因我们需要通过php访问我们以前的SqlServer2005数据,所以就有了这篇文章的诞生.废话就少说了,做程序设计的最不喜欢兜圈子了.用简介步骤说明问题,往下看.系统:Linux数据库:SqlServer20051.下载FreeTDS官方网站:http://www.freetds.org2.

  由于工作原因我们需要通过php访问我们以前的Sql Server 2005数据,所以就有了这篇文章的诞生.废话就少说了,做程序设计的最不喜欢兜圈子了.用简介步骤说明问题,往下看.

  系统: Linux

  数据库: Sql Server 2005

  1.下载FreeTDS

  官方网站:http://www.freetds.org

  2.安装FreeTDS

  # tar zxvf freetds-current.tgz(解压)

  # ./configure --prefix=/usr/local/freetds --with-tdsver=7.2 --enable-msdblib

  # make

  # make install

  其他可选 根据自己情况

  --enable-dbmfix --with-gnu-ld --enable-shared --enable-static

  安装freetds到目录/usr/local/freetds:--prefix=/usr/local/freetds 如果不带这个默认好像也是这目录

  对应数据库版本--我的是Microsoft SQL Server 2005 所以我带的是 --with-tdsver=7.2

  4.2 Sybase SQL Server <10 and Microsoft SQL Server 6.5

  5.0 Sybase SQL Server >= 10

  7.0 Microsoft SQL Server 7.0

  7.1 Microsoft SQL Server 2000

  7.2 Microsoft SQL Server 2005

  3.编辑/usr/local/freetds/etc/freetds.conf

  # $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 jklowden Exp $

  #

  # This file is installed by FreeTDS if no file by the same

  # name is found in the installation directory.

  #

  # For information about the layout of this file and its settings,

  # see the freetds.conf manpage "man freetds.conf".

  # Global settings are overridden by those in a database

  # server specific section

  [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

  #解决中文乱码问题

  client charset=utf8

  # A typical Sybase server

  #[egServer50]

  # host = symachine.domain.com

  # port = 5000

  # tds version = 5.0

  # A typical Microsoft server

  #[egServer70]

  # host = ntmachine.domain.com

  # port = 1433

  # tds version = 7.0

  #这个名字程序和命令行用得上,叫什么自己定

  [Server2005]

  host = 192.168.3.100 #我的SQL Server2005 IP,根据自己改

  port = 1433

  tds version = 7.2

  4.测试连接:

  [root@test bin]# ./tsql -S Server2005 -p 1433 -U java -P java -D PublicDB

  locale is "zh_CN"

  locale charset is "GB2312"

  Default database being set to PublicDB

  1>

  出现这个表示连接成功! 退出:quit 和 exit 都行.

  参数说明

  -S 配置的服务名

  -H 主机名

  -p 端口

  -U username

  -P password

  -D database

  5.测试查询:

  # ./tsql -S Server2005 -p 1433 -U java -P java -D PublicDB

  1> select USER_ID,TRUE_NAME from USER_INFO

  2> go

  可以显示中文没问题!

  6.让php支持mssql(freeTDS)

  重新编译php 这些参数根据自己情况来定,下面是我们需要的

  但是必须带--with-mssql=/usr/local/freetds

  ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --with-gd=/usr/local/gd --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr/local/libpng --with-zlib-dir=/usr/local/zlib --with-libxml-dir=/usr/local/libxml2 --with-icOnv=/usr/local/libiconv --with-freetype-dir=/usr/local/freetype --with-pdo-mysql=/usr/local/phpbak/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so --enable-sockets --with-curl --with-pear --with-mssql=/usr/local/freetds

  如果编译报错请执行:

  # touch /usr/local/freetds/include/tds.h

  # touch /usr/local/freetds/lib/libtds.a

  7.php测试程序

  

  /**

  * MOIT

  *

  * @author 明白(admin126com@126.com) 日 期: Wed Nov 18 05:00:07 GMT 2009

  * @copyright Copyright (c) 2009

  * @desc 测试

  */

  $mscOnnect=mssql_connect("Server2005","java","java");

  $msdb=mssql_select_db("PublicDB",$msconnect);

  $msquery = "select TRUE_NAME,USER_ID,USER_NAME,PASSWORD from USER_INFO";

  $msresults= mssql_query($msquery);

  while ($row = mssql_fetch_array($msresults)) {

  echo $row["USER_ID"] . " ".$row["TRUE_NAME"]. " " . $row["USER_NAME"] . " " . $row["PASSWORD"] . "
";

  }

  ?>

  8.安装完毕,祝您成功!


推荐阅读
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • This guide provides a comprehensive step-by-step approach to successfully installing the MongoDB PHP driver on XAMPP for macOS, ensuring a smooth and efficient setup process. ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
author-avatar
手机用户2502937333
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有