Linux下安装PHP MSSQL扩展教程

yipeiwu_com6年前PHP代码库

PHP天然就对MySQL有良好的支持,但是想要用PHP对SQL Server进行操作,则需要花点时间了。今天刚好团队里的一个项目需要用PHP对SQL Server进行操作,遂帮忙配置好环境。

首先说明下,服务器的系统版本为SUSE Linux Enterprise Server 10 SP3。

1. 安装FreeTDS

地址:FreeTDS

复制代码 代码如下:

wget http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
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

成功安装完,最好更新下动态连接库缓存:
复制代码 代码如下:

echo "/usr/local/freetds/lib" >> /etc/ld.so.conf
ldconfig

2. 配置FreeTDS及连接测试

FreeTDS的配置文件放在安装目录的etc里,根据第一步的configure参数,我们FreeTDS安装在/usr/local/freetds:

复制代码 代码如下:

vim /usr/local/freetds/etc/freetds.conf

由于不太清楚FreeTDS的具体有哪些可配置项,这里就不深入了,但是提供个比较重要的配置,用来解决中文乱码的问题。在配置文件添加如下语句:

复制代码 代码如下:

client charset = utf8

然后,我们使用tsql命令测试下是否能正常连接上SQL Server数据库:

复制代码 代码如下:

cd /usr/local/freetds/bin
./tsql -H 192.168.0.254 -p 1433 -U sa -P 123456

正常连接的话应该显示如下语句:

复制代码 代码如下:

locale is "zh_CN.UTF-8"
locale charset is "UTF-8"
1>

3. 安装php的mssql扩展

服务器上的php版本为5.3.13,php已安装在/usr/local/services/php下,扩展的目录为/usr/local/services/php/extensions。下面是安装mssql扩展的方法:

复制代码 代码如下:

cd 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并验证安装结果

打开php.ini,添加如下扩展语句:

复制代码 代码如下:

extension=mssql.so

重启PHP服务后(服务器用的是php-fpm),打印phpinfo,出现如下配置则代表php能正常操作SQL Server了。

相关文章

php实现替换手机号中间数字为*号及隐藏IP最后几位的方法

本文实例讲述了php实现替换手机号中间数字为*号及隐藏IP最后几位的方法。分享给大家供大家参考,具体如下: $string = "13826589549"; $pattern = "...

简单实现php上传文件功能

本文实例为大家分享了php上传文件功能的具体代码,供大家参考,具体内容如下 html: <form action="upload_file.php" method="post"...

php中防止伪造跨站请求的小招式

伪造跨站请求介绍   伪造跨站请求比较难以防范,而且危害巨大,攻击者可以通过这种方式恶作剧,发spam信息,删除数据等等。这种攻击常见的表现形式有:   伪造链接,引诱用户点击,或是让用...

php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件

php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件

总结:                     使用PHP下载文件的操作需要给出四个header(),可以参考我的另一篇博文:PHP如何实现下载功能超详细流程分析 计算文件的大小的时候,...

PHP注释实例技巧

复制代码 代码如下:<?php $a = 1; $b = 2; if (1==1) { $andy = '帅哥'; } ?> 一般注释的时候,用 复制代码 代码如下:<...