时间:2021-07-01 10:21:17 帮助过:28人阅读

freetds依次执行以下脚本:
cd /usr/local/src/ wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz tar -zxvf freetds-patched.tar.gz
即,进入 /usr/local/src 目录(我一般习惯把编译用到的源代码放在这里),下载 freetds 的源码,然后解压。
freetds依次执行以下脚本:
cd freetds-1.2/ ./configure --prefix=/usr/local/freetds --with-tdsver=7.4 --enable-msdblib make && make install
注意上面的 freetds-1.2,根据你自己下载的不同 freetds 版本,这里可能会有所不同,反正就是进入你解压出来得到的文件夹。然后 --with-tdsver=7.4 这里,根据 SqlServer 的不同版本灵活选择,具体可以参考下图自行选择,我使用的是 SqlServer 2012,所以选择的 7.4 版本:

以上版本选择的内容来自 freetds 的官方文档,文档地址:https://www.freetds.org/userguide/ChoosingTdsProtocol.html
freetds依次执行以下命令来初始化 freetds 配置:
echo "/usr/local/freetds/lib/" > /etc/ld.so.conf.d/freetds.conf ldconfig
其他的配置不需要,网上有一些教程写要在 freetds.conf 中配置 MSSQL 的连接信息。其实大可不必,在调用的时候配置就可以了,也就是在 PHP 代码中配置,这样多灵活。
freetds执行以下命令来查看 freetds 版本:
# /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执行以下命令来测试 freetds 连接:
# /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)
其中 example.com 是 MSSQL 的 host 地址, username 和 password 分别是 MSSQL 的用户名和密码。
PHP-5.6.40 源码依次执行以下脚本:
cd /usr/local/src/ wget https://www.php.net/distributions/php-5.6.40.tar.gz tar -zxvf php-5.6.40.tar.gz
和上面下载 freetds 一样,这里不再赘述。
PHP-5.6.40-MSSQL 扩展依次执行以下脚本:
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
上面的 /www/server/php/56/bin/ 路径,因为的在宝塔中使用的 php 的安装路径是这个,所以路径就写成这样,大家根据自己情况调整。
得到类似如下的输出,说明扩展安装完成了:
... Build complete. Don't forget to run 'make test'. Installing shared extensions: /www/server/php/56/lib/php/extensions/no-debug-non-zts-20131226/
php.ini这里在哪里修改大家就随意了,我就直接用宝塔前端修改了,没用命令行。在 php.ini 中添加如下几行:
[mssql] extension=mssql.so
修改完成之后保存,然后重启 php 服务。
查看 phpinfo,可以看到 mssql 扩展已经启用了。

大功告成。
推荐学习:php视频教程
以上就是CentOS7如何为PHP安装MSSQL扩展的详细内容,更多请关注gxlcms其它相关文章!