主要分2个步骤
1、安装 freetds
2、安装 mssql.so
扩展(php
的 mssql
扩展依赖于 freetds
)
1、下载 freetds
依次执行以下脚本
cd /usr/local/src/
wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz
tar -zxvf freetds-patched.tar.gz
2、安装 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
版本:
3、配置 freetds
依次执行以下命令来初始化 freetds
配置:
echo "/usr/local/freetds/lib/" > /etc/ld.so.conf.d/freetds.conf
ldconfig
4、测试 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
5、下载 PHP-5.3.29
源码
依次执行以下脚本:
cd /usr/local/src/
wget https://www.php.net/distributions/php-5.3.29.tar.gz
tar -zxvf php-5.3.29.tar.gz
6、安装 PHP-5.6.40-MSSQL
扩展
依次执行以下脚本:
cd php-5.3.29/ext/mssql/
/www/server/php/53/bin/phpize
./configure --with-php-config=/www/server/php/53/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/
7、修改 php.ini
这里在哪里修改大家就随意了,我就直接用宝塔前端修改了,没用命令行。在 php.ini
中添加如下几行:
[mssql]
extension=mssql.so
修改完成之后保存,然后重启 php
服务。
查看 phpinfo
,可以看到 mssql
扩展已经启用了。