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

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介:

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


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

1
#yum install mysql mysql-server

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

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


安装环境:

1
2
3
#centos6.8
#php5.6
#sqlserver2008


  1. 下载freetds,一般都会在官网下载,这个开源的想必没人会用盗版。


1
2
3
4
5
6
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

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


3.查看安装的版本: 

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

4.测试能否连接sqlserver:

1
/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插件即可:

1
2
yum  install  php-pdo -y
yum  install  php-mssql -y

2)编译安装的php

1
#进入到php的安装包中,安装mssql插件
1
2
3
4
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


1
2
3
4
5
#安装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:

1
2
3
4
5
6
7
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测试文件:

1
2
3
4
vi  /www/html/test .php
<?php
phpinfo();
?>

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

http://ip/test.php

wKiom1kauemDpP72AAC6lkTfzxw811.jpg


6.测试mssql连接sqlserver2008:

#编辑一个测试文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#创建一个测试文件
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成功连接到数据库。


本文转自 王家东哥 51CTO博客,原文链接:http://blog.51cto.com/xiaodongge/1926312


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
监控 PHP Apache
优化 PHP-FPM 参数配置:实现服务器性能提升
优化PHP-FPM的参数配置可以显著提高服务器的性能和稳定性。通过合理设置 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers`、`pm.max_spare_servers`和 `pm.max_requests`等参数,并结合监控和调优措施,可以有效应对高并发和负载波动,确保Web应用程序的高效运行。希望本文提供的优化建议和配置示例能够帮助您实现服务器性能的提升。
23 3
|
30天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
82 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
1月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
2月前
|
关系型数据库 MySQL PHP
php wampserver的使用配置
本文介绍了WampServer在Windows系统下的配置和使用方法,包括如何修改PHP时区为中国标准时区PRC、更改Apache服务器端口号以避免冲突、设置起始页以及如何创建和管理虚拟目录。通过这些步骤,用户可以更有效地在本地环境中开发和测试PHP程序。
php wampserver的使用配置
|
16天前
|
Linux
Linux - 如何编译源码安装软件
源码编译安装通常包括三个步骤:1) `./configure` 检测平台特征和依赖项,生成 Makefile;2) `make` 编译源码,生成可执行文件;3) `make install` 将可执行文件安装到指定目录并配置环境变量。
31 0
|
1月前
|
Linux 编译器 C语言
Linux c/c++之多文档编译
这篇文章介绍了在Linux操作系统下使用gcc编译器进行C/C++多文件编译的方法和步骤。
39 0
Linux c/c++之多文档编译
|
2月前
|
Unix PHP
PHP-FPM 配置
PHP-FPM 配置
|
1月前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
2月前
|
IDE 安全 网络安全
Xdebug 在不同版本的 PHP 中配置方法有什么不同?
Xdebug 在不同版本的 PHP 中配置方法有什么不同?
171 4
|
1月前
|
缓存 NoSQL 数据处理
原生php实现redis缓存配置和使用方法
通过上述步骤,你可以在PHP项目中配置并使用Redis作为高性能的缓存解决方案。合理利用Redis的各种数据结构和特性,可以有效提升应用的响应速度和数据处理效率。记得在实际应用中根据具体需求选择合适的缓存策略,如设置合理的过期时间,以避免内存过度消耗。
51 0