CentOS 6.5 Linux 下的 PHP(FastCGI) 需要连接相关部门的 SQL Server 2005 以上数据库,配置了扩展 FreeTD
S 扩展。
1、编译安装 FreeTDS
cd /usr/local/src
tar zxvf freetds-stable.tgz
cd freetds-0.95/
./congure --prex=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmx --
with-gnu-ld --enable-shared --enable-static
make && make install
配置文件:
vi /usr/local/webserver/freetds/etc/freetds.conf
输入以下内容:
[server2008]
host = ip
port = 端口号
tds version = 8.0 ---必须是 8.0 以上
client charset = UTF-8
把数据库端口号加入到防火墙允许端口:
vi /etc/syscong/iptables
加入:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 端口号 -j ACCEPT
重启防火墙:/etc/init.d/iptables restart
2、编译安装 PHP 自带 MSSQL 扩展
进入本地已存在的 php-5.2.XX 源码包目录:
cd /usr/local/php-5.2.XX/ext/mssql/
/usr/local/php/bin/phpize
./congure --with-php-cong=/usr/local/php/bin/php-cong --with-mssql=/usr/local/freetds/
make && make install
3、在 php.ini 配置文件中增加 mssql.so
vi /usr/local/php/etc/php.ini
增加一行:
引用
extension = mssql.so
确定路径配置正确:
extension_dir = "/usr/local/php/extensions"
4、重启 PHP FastCGI
/usr/local/php/sbin/php-fpm restart
5、测试文件(test_mssql.php):
php
header("Content-type: text/html; charset=utf-8");
$msdb=mssql_connect("ser2008","username","password");
if (!$msdb) {
echo "connect sqlserver error";
exit;