PHP天然就对MysqL有良好的支持,但是想要用PHP对sql Server进行操作,则需要花点时间了。今天刚好团队里的一个项目需要用PHP对sql Server进行操作,遂帮忙配置好环境。
首先说明下,服务器的系统版本为SUSE Linux Enterprise Server 10 SP3。
1. 安装FreeTDS
代码如下:
tar zxvf freetds-stable.tgz
cd freetds-0.82
./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix
make && make install
成功安装完,最好更新下动态连接库缓存:
代码如下:
> /etc/ld.so.conf
ldconfig
2. 配置FreeTDS及连接测试
FreeTDS的配置文件放在安装目录的etc里,根据第一步的configure参数,我们FreeTDS安装在/usr/local/freetds:
代码如下:
由于不太清楚FreeTDS的具体有哪些可配置项,这里就不深入了,但是提供个比较重要的配置,用来解决中文乱码的问题。在配置文件添加如下语句:
代码如下:
然后,我们使用tsql命令测试下是否能正常连接上sql Server数据库:
代码如下:
sql -H 192.168.0.254 -p 1433 -U sa -P 123456
正常连接的话应该显示如下语句:
代码如下:
3. 安装PHP的mssql扩展
服务器上的PHP版本为5.3.13,PHP已安装在/usr/local/services/PHP下,扩展的目录为/usr/local/services/PHP/extensions。下面是安装mssql扩展的方法:
代码如下:
PHP-5.3.13/ext/mssql/
/usr/local/services/PHP/bin/PHPize
./configure --with-PHP-config=/usr/local/services/PHP/bin/PHP-config --with-mssql=/usr/local/freetds
make #生成扩展文件,放在当前目录的module文件夹下 cp modules/mssql.so /usr/local/services/PHP/extensions/ #把扩展文件复制到PHP的扩展目录下
4. 配置PHP.ini并验证安装结果
代码如下:
sql.so
重启PHP服务后(服务器用的是PHP-fpm),打印PHPinfo,出现如下配置则代表PHP能正常操作sql Server了。
原文链接:https://www.f2er.com/php/23629.html