服务器环境: CentOS 7.x / 宝塔面板 / PHP 5.6 编译安装
前期准备 : 服务器要联网,以便获取freetds安装包,建议先下载。
开始动手:
1、第一步
登陆服务器,建议root权限。下载并安装freetds。这个是Linux与Mysql进行 数据交互的一个中间件。操作如下:wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz
//下载的速度可能会比较慢,可以用本地下载下来后,再上传到服务器上
// wget 连接带用户名密码ftp服务器的方法 wget ftp://ip:port/file.tar --ftp-user=username --ftp-password=password
tar -zxvf freetds-patched.tar.gz
//解压缩文件
ls
//列出解压缩的文件夹
cd freetds-1.1.6 //这边你有可能会下载到最新版本
./configure --prefix=/usr/local/freetds --with-tdsver=7.4 --enable-msdblib
//编译前的配置, --prefix=/usr/local/freetds 就是要把你freetds安装到哪个目录下
make & make install
//至此,freetds 的中间件安装成功
cd /usr/local/freetds/
ls
//进入安装目录,确认安装情况
2. 第二步:
安装Php的mssql扩展和PDO_dblib扩展cd /www/server/php/56/src/ext/mssql
//进入php56的安装目录,配置并安装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
//安装mssql扩展
cd /www/server/php/56/src/ext/pdo_dblib/
/www/server/php/56/bin/phpize
./configure --with-php-config=/www/server/php/56/bin/php-config --with-pdo-dblib=/usr/local/freetds/
make && make install
//同理,安装pdo_dblib扩展
3.第三步:
如果安装完pdo_dblib和mssql ,可以在 php的扩展目录下找到 pdo_dblib.so和mssql.so两个文件。现在需要更改php.ini配置。cd /www/server/php/56/src/ext
//进入php安装目录
vi php.ini
//修改配置文件,也可以在宝塔面板中修改相应的php配置文件。
//在php.ini文件下添加下面这两句
extension=pdo_dblib.so
extension=mssql.so
4.第四步:
更改freetds的配置文件。freetds的配置文件,在刚才你安装的目录下。
操作如下:cd /usr/local/freetds/etc
//切换至freetds的目录
vi freetds.conf
//修改配置
//更改mssql服务器配置,如:
host = 127.0.0.1 //这里填mssql的服务器IP
port = 1433 //端口号
tds version = 7.4 //tds版本号,支持mssql2012及以上版本
client charset = UTF-8 //客户端编码
5.重启服务
最后一步,重启对应的php-fpm,如service php-fpm-56 restart
现在,你可以通过宝塔面板的phpinfo查看,是否有正确配置了。
最后,此例以宝塔面板的php5.6为例,应注意对应的php版本对应的安装位置。