linux编译安装mssql客户端和配置php连接mssql

凡是连接数据库,必须安装客户端,我一般写博客都不写原理,但是后来发现回头看自己写的自己都看不懂,所以这章博客会多一点原理性的东西。

数据库的连接一般都是在客户端上完成的,MySQL也不例外,安装mysql时一般都会这么安装:

#yum install mysql mysql-server

上面的mysql就是安装的客户端,mysql-server就是服务端,不安装客户端(mysql)就没办法执行mysql连接命令:mysql -u user -p pass -h -P port

而sqlserver同样需要客户端,下面讲的就是在linux下安装sqlserver 2008的客户端freetds

安装环境:

#centos6.8
#php5.6
#sqlserver2008
  1. 下载freetds,一般都会在官网下载,这个开源的想必没人会用盗版。
wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz
#linux下载有点慢,可以在windows上下载,然后再上传至linux上。
tar zxf freetds-patched.tar.gz
cd freetds-1.00.27
./configure --prefix=/usr/local/freetds --with-tdsver=7.3 --enable-msdblib
make && make install

2.导入ldconfig

 echo "/usr/local/freetds/lib/" > /etc/ld.so.conf.d/freetds.conf
 ldconfig

3.查看安装的版本:

/usr/local/freetds/bin/tsql -C

4.测试能否连接sqlserver:

/usr/local/freetds/bin/tsql -H 10.10.10.10 -p 1433 -U sa -P password

5.添加PHP扩展mssql和pdo_dblib,这是php两种连接mssql的方式,只安装mssql也可以。

注意:一般安装php会选择两种方式,一种是编译安装,一种是yum安装。下面分别来讲解两种方式的安装方式:

1)yum安装的php

#很简单,直接yun安装mssql插件即可:

yum install php-pdo -y
yum install php-mssql -y

2)编译安装的php

#进入到php的安装包中,安装mssql插件
cd /home/tools/php-5.6.20/ext/mssql/
/usr/local/php/bin/phpize 
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds/ 
make && make install
#安装pdo_dblib
cd /home/tools/php-5.6.20/ext/pdo_dblib/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-dblib=/usr/local/freetds/
make && make install

在php.ini中添加mssql和pdo_dblib:

mv /usr/local/php/lib/php/extensions/no*/mssql /usr/local/php/lib/php/extensions/
mv /usr/local/php/lib/php/extensions/no*/pdo_dblib /usr/local/php/lib/php/extensions/
#把前面安装的扩展插件生成的文件移动到extension目录下
vi /usr/local/php/lib/php.ini
extension_dir = "/usr/local/php/lib/php/extensions"
extension = "mssql.so"  
extension = "pdo_dblib.so"

3)重启php,看扩展插件有没有生效:

#编译一个php测试文件:

vi /www/html/test.php
<?php
phpinfo();
?>

用浏览器打开上面的测试文件,会看到如下信息,代表成功安装:

http://ip/test.php

6.测试mssql连接sqlserver2008:

#编辑一个测试文件:

vi /www/html/connect_sql.php
<?php  
header("Content-type: text/html; charset=utf-8");    
$msdb=mssql_connect("10.10.10.10:1433","sa","password");  
if (!$msdb) {  
    echo "connect sqlserver error";  
    exit;  
    }  
mssql_select_db("test",$msdb);  
$result = mssql_query("SELECT top 5 * FROM student", $msdb);  
while($row = mssql_fetch_array($result)) {  
 print_r($row);  
}  
mssql_free_result($result);  
?>

#如果内容是sqlserver test数据库,student表内的内容代表php成功连接到数据库。

7.测试pdo_dblib连接sqlserver2008:

#创建一个测试文件
vi /www/html/connect_db.php
<?php  
header("Content-type: text/html; charset=utf-8");  
  try {  
    $hostname = "10.10.10.10";  
    $port = 1433;  
    $dbname = "test";  
    $username = "sa";  
    $pw = "password";  
    $dbh = new PDO ("dblib:host=$hostname:$port;dbname=$dbname","$username","$pw");  
  } catch (PDOException $e) {  
    echo "Failed to get DB handle: " . $e->getMessage() . "\n";  
    exit;  
  }  
   
  $stmt = $dbh->prepare("SELECT top 5 * FROM student");  
  $stmt->execute();  
  while ($row = $stmt->fetch()) {  
    print_r($row);  
  }  
  unset($dbh); unset($stmt);  
  
?>

#如果内容是sqlserver test数据库,student表内的内容代表php成功连接到数据库。

时间: 2024-12-14 18:49:21

linux编译安装mssql客户端和配置php连接mssql的相关文章

linux编译安装nginx

linux下编译安装nginx,从nginx官网下载nginx原代码,解压到某个目录,执行如下命令 # ./configure --prefix=/usr/local/nginx 配置nginx编译生成的目录,nginx的shell脚本将存储在/user/local/nginx/sbin目录,配置文件将存储在/user/local/nginx/conf目录下 nginx支持正则匹配路径,依赖pcre包,编译之前请先安装此包.如果要使用https,还需要openssl.如果要使用gzip,需要zl

linux编译安装LAMP

Linux安装Apache+MySQL+PHP 安装部分依赖 安装apr(可选) # tar -xf apr-1.5.0.tar.bz2 # cd apr-1.5.0 #./configure --prefix=/usr/local/apr //指定其安装位置 # make && make install 安装apr-util # tar -xf apr-util-1.5.3.tar.bz2 # cd apr-util-1.5.3 # ./configure --prefix=/usr/l

Linux编译安装Apache+PHP

Linux编译安装Apache+PHP 来自:自学it网,http://www.zixue.it/. 1]编译安装Apache+PHP 1.安装程序依赖库和开发环境   为了省事把所需要的库文件全都安装上,可以使用rpm包安装,也可以用yum命令安装, yum -y install gcc gcc-c++ autoconf automake make libjpeg libjpeg-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-d

linux 下安装 jdk tomcat 并配置

linux下安装TOMCAT与JDK 第1步:新建boss用户,用户名:boss,密码:boss 第2步:将安装用户路径设置成/app/boss [[email protected]]# useradd-d /app/boss -m boss [[email protected]]# passwdboss Changing password for user boss. New password:  boss passwd: all authentication tokens updated s

Linux编译安装Qt 5.4.1

转载请注明文章:Linux编译安装Qt 5.4.1 出处:多客博图 很久不写文章了,过程很简单,但是操作很多,简单说吧. 前言: 操作系统CentOS 6.6,64位的. 1.安装gcc 4.8.4,或者4.9.2,越高版本越好咯,编译安装到/usr/local/下面,这样无需设置可执行文件路径了,然后卸载自带的gcc等,卸载所有依赖,如果不行就--nodeps方式卸载: 2.安装gdb 7.8,有新的gcc 4.8.4这种就可以了,然后强行卸载系统自带的gdb, rpm -e gdb.xxx

linux下安装oracle需要的配置

1.检查系统包安装情况 rpm -qa|grep binutils rpm -ivh sysstat-7.0.2.rpm binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 compat-libstdc++-33-3.2.3 (32 bit) elfutils-libelf-0.125 elfutils-libelf-devel-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 glibc-2.5-24 (32 bit

Linux下安装php环境并且配置Nginx支持php-fpm模块[www]

Linux下安装php环境并且配置Nginx支持php-fpm模块 http://www.cnblogs.com/freeweb/p/5425554.html 5分钟搭建 nginx +php --------------(LNMP)新手专用 http://blog.csdn.net/dyllove98/article/details/41120789 配置Nginx来支持php http://www.cnblogs.com/jecyhw/p/5504855.html nginx+php的配置与

WINDOWS8.1安装ORACLE客户端及配置

1.官方网站下载: instantclient-basic-win32-11.2.0.1.0.zip instantclient-sqlplus-win32-11.2.0.1.0.zip instantclient-odbc-win32-11.2.0.1.0.zip instantclient-jdbc-win32-11.2.0.1.0.zip 2.解压到同一个文件夹.如C:\OracleInstantClient_11_2 3.文件夹下新建network\admin文件夹,文件夹内新增tnsn

linux编译安装时常见错误解决办法

linux编译安装时常见错误解决办法 This article is post on https://coderwall.com/p/ggmpfa 原文链接:http://www.bkjia.com/PHPjc/1008013.html configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution复制代码 代码如下:yum -y install libxslt-devel c