疯狂胶已人迈迈迈 - php
type: channel
link: https://www.crazycz.cn/tag/php/
items: 为Centos Lnmp Php 添加SQL Server 支持

为Centos Lnmp Php 添加SQL Server 支持
type: item
date: 2017-06-14T13:09:00+08:00
description: Linux 平台应用最广泛的数据库应该还是MYSQL ，但项目必须要用到MS SQL SERVER 做为主数据库。而网站程序却要用PHP 来写。无奈之下只能苦寻在LINUX下配置 访问MS SQL SERVER的方法。 安装基本环境 安装lnmp 现在安装很方便，一键包点几下就完成，推荐军哥的LNMP 安装FreeTDS 组件 wget http://mirrors.ibiblio.org/freetds/stable/freetds-stable.tgz tar zxvf freetds-stable.tgz cd freetds-0.91/ ./configure --enable-msdblib --prefix=/usr/local/freetds make && make install 为php 添加 mssql支持 进入lnmp的安装包源代码处配置并编译 cd lnmp1.3*/src/ tar zxvf php-5.4.45.tar.gz cd php-5.4.45/ext/mssql/ #使用phpize生成configure脚本文件 /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds make && make install 然后编辑 /usr/local/php/etc/php.ini 在extension = "pdo_mysql.so"下面添加 extension = "mssql.so" 保存后，/root/lnmp restart 重启lnmp即可使php 支持mssql 配置FreeTDS 配置数据库源 FreeTDS类似于windows 中的数据源，需要先配置才能使用 修改freetds配置文件 vi /usr/local/freetds/etc/freetds.conf 在文件末尾添加以下类似配置添加SQL SERVER服务器信息后保存 [Server1] host = 192.168.1.2 #sql server 服务器1 port = 1433 # sql server 服务端口 tds version = 7.0 # sql server 2000 [Server2] host = 192.168.1.5 #服务器2 port = 1433 tds version = 8.0 # sql server 2005/2008 测试连接数据库 /usr/local/freetds/bin/tsql -S Server1 -U 用户名 -P 密码 命令行若显示以下内容的话则成功证明成功！ locale is "zh_CN.UTF-8" locale charset is "UTF-8" using default charset "UTF-8" 1> 数据库查询 locale is "zh_CN.UTF-8" locale charset is "UTF-8" using default charset "UTF-8" 1>use ErpData 1>go 1>select * from emplyee 1>go 1>###每次输完语句后需要再输一次go 才会真正执行语句 PHP使用MSSQL //连接数据库 $msdb=mssql_connect("Server1","数据库用户名","密码") or die("Can't connect sql server"); mssql_select_db("ErpData",$msdb); //选择数据库 $sql="select * from emplyee where id=1"; $result = mssql_query($sql, $msdb); if($row=mssql_fetch_array($result)) { $empcode = $row[0]; } mssql_free_result($result);//清空记录集 mssql_close($msdb);//关闭数据库连接