前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CENTOS 7 如何为 PHP 5.6 安装 MSSQL 扩展

CENTOS 7 如何为 PHP 5.6 安装 MSSQL 扩展

原创
作者头像
用户4988376
修改2021-08-09 18:03:44
1.1K0
修改2021-08-09 18:03:44
举报
文章被收录于专栏:IT资讯新闻IT资讯新闻

运行环境

操作系统

  • CentOS Linux release 7.8.2003 (Core)

集成环境

  • 宝塔
  • PHP 5.6.40

步骤

和之前一样,我们先来整理一下整体的步骤:

1、安装 freetds 2、安装 mssql.so 扩展(phpmssql 扩展依赖于 freetds

整体来讲和 OSX 安装扩展的步骤是一样的。

详细步骤

1、下载 FREETDS

依次执行以下脚本:

代码语言:javascript
复制
cd /usr/local/src/
wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz
tar -zxvf freetds-patched.tar.gz
123

即,进入 /usr/local/src 目录(我一般习惯把编译用到的源代码放在这里),下载 freetds 的源码,然后解压。

2、安装 FREETDS

依次执行以下脚本:

代码语言:javascript
复制
cd freetds-1.2/
./configure --prefix=/usr/local/freetds --with-tdsver=7.4 --enable-msdblib
make && make install
123

注意上面的 freetds-1.2,根据你自己下载的不同 freetds 版本,这里可能会有所不同,反正就是进入你解压出来得到的文件夹。然后 --with-tdsver=7.4 这里,根据 SqlServer 的不同版本灵活选择,具体可以参考下图自行选择,我使用的是 SqlServer 2012,所以选择的 7.4 版本:

在这里插入图片描述
在这里插入图片描述

以上版本选择的内容来自 freetds 的官方文档,文档地址:https://www.freetds.org/userguide/ChoosingTdsProtocol.html

3、配置 FREETDS

依次执行以下命令来初始化 freetds 配置:

代码语言:javascript
复制
echo "/usr/local/freetds/lib/" > /etc/ld.so.conf.d/freetds.conf
ldconfig
12

其他的配置不需要,网上有一些教程写要在 freetds.conf 中配置 MSSQL 的连接信息。其实大可不必,在调用的时候配置就可以了,也就是在 PHP 代码中配置,这样多灵活。

4、测试 FREETDS

执行以下命令来查看 freetds 版本:

代码语言:javascript
复制
# /usr/local/freetds/bin/tsql -C
Compile-time settings (established with the "configure" script)
                            Version: freetds v1.2
             freetds.conf directory: /usr/local/freetds/etc
     MS db-lib source compatibility: yes
        Sybase binary compatibility: no
                      Thread safety: yes
                      iconv library: yes
                        TDS version: 7.4
                              iODBC: no
                           unixodbc: no
              SSPI "trusted" logins: no
                           Kerberos: no
                            OpenSSL: yes
                             GnuTLS: no
                               MARS: yes
12345678910111213141516

执行以下命令来测试 freetds 连接:

代码语言:javascript
复制
# /usr/local/freetds/bin/tsql -H example.com -p 1433 -U username -P password
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1> select @@version
2> go

Microsoft SQL Server 2012 - 11.0.2100.60 (X64)
	Feb 10 2012 19:39:15
	Copyright (c) Microsoft Corporation
	Standard Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)

(1 row affected)
12345678910111213

其中 example.comMSSQLhost 地址, usernamepassword 分别是 MSSQL 的用户名和密码。

5、下载 PHP-5.6.40 源码

依次执行以下脚本:

代码语言:javascript
复制
cd /usr/local/src/
wget https://www.php.net/distributions/php-5.6.40.tar.gz
tar -zxvf php-5.6.40.tar.gz
123

和上面下载 freetds 一样,这里不再赘述。

6、安装 PHP-5.6.40-MSSQL 扩展

依次执行以下脚本:

代码语言:javascript
复制
cd php-5.6.40/ext/mssql/
/www/server/php/56/bin/phpize
./configure --with-php-config=/www/server/php/56/bin/php-config --with-mssql=/usr/local/freetds/
make && make install
1234

上面的 /www/server/php/56/bin/ 路径,因为的在宝塔中使用的 php 的安装路径是这个,所以路径就写成这样,大家根据自己情况调整。

得到类似如下的输出,说明扩展安装完成了:

代码语言:javascript
复制
...
Build complete.
Don't forget to run 'make test'.

Installing shared extensions:     /www/server/php/56/lib/php/extensions/no-debug-non-zts-20131226/
12345

7、修改 PHP.INI

这里在哪里修改大家就随意了,我就直接用宝塔前端修改了,没用命令行。在 php.ini 中添加如下几行:

代码语言:javascript
复制
[mssql]
extension=mssql.so
12

修改完成之后保存,然后重启 php 服务。

查看 phpinfo,可以看到 mssql 扩展已经启用了。

在这里插入图片描述
在这里插入图片描述

大功告成。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 运行环境
  • 步骤
  • 详细步骤
    • 1、下载 FREETDS
      • 2、安装 FREETDS
        • 3、配置 FREETDS
          • 4、测试 FREETDS
            • 5、下载 PHP-5.6.40 源码
              • 6、安装 PHP-5.6.40-MSSQL 扩展
                • 7、修改 PHP.INI
                相关产品与服务
                数据库
                云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档