原文转自https://www.jianshu.com/p/e9f2b5b5e12c
因细微差别做一些修改
环境:
CentOS 7.2 64位
PHP 7.1
SQL Server 2008
Freetds-1.00.109
首先,安装扩展
PHP有很多数据库扩展,针对不同的数据库系统,这里我们选择使用PDO方式连接SQL Server数据库,那么我们还需要一个具体数据库的 PDO 驱动来访问数据库服务,即"pdo_dblib"扩展。
找到php-7.1的源码,进入到ext下面,我们可以看到一个pdo_dblib的文件夹,即./usr/src/php7.1.6/php-src-php-7.1.6/ext/pdo_dblib
切换到./usr/src/php7.1.6/php-src-php-7.1.6/ext/pdo_dblib之后,按正常操作应该是执行:
# /usr/local/php7.1/bin/phpize
# ./configure --with-php-config=/usr/local/php7.1/bin/php-config
但是,那会报一个错误 ,就是找不到FreeTDS,如下图:
error : Cannot find FreeTDS in knowsinstallaction directories
下载安装FreeTDS
# wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz
//此处下载太慢的话请复制到浏览器里下载,再导入
# tar -zxvf freetds-patched.tar.gz
# cd freetds-1.00.48/
# ./configure --prefix=/usr/local/freetds --with-tdsver=7.3 --enable-msdblib
# make && make install
注:1. 什么是FreeTDS 2. tdsver为什么是7.3
测试FreeTDS
# /usr/local/freetds/bin/tsql -C
# /usr/local/freetds/bin/tsql -H
127.0.0.1 -p 1433 -U xxx -P xxx //此处填写数据库IP端口账号密码测试
/usr/local/freetds/bin/tsql -C
安装pdo_dblib扩展
//这部请在./usr/src/php7.1.6/php-src-php-7.1.6/ext/pdo_dblib目录下执行
# /usr/local/php7.1/bin/phpize
# ./configure --with-php-config=/usr/local/php7.1/bin/php-config --with-pdo-dblib=/usr/local/freetds/
# make && make install
# vim php.ini 添加extension="pdo_dblib.so"
查看扩展及重启PHP
# service php7.1-fpm restart
网友评论