手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

Windows下PHP使用SQL Server数据库

时间:2024-10-24 20:34:17

虽然PHP+MySQL是佳配,少数时候也难免会使用MySQL之外的一些数据库,但使用PHP+SQL Server的场景却是癀溢汾鲜极少,我想这跟微软之前的产品不开源有一定的关系吧。开源是未来软件发展的大方向,最近几年里微软对开源似乎产生了越来越大的兴趣,并且开源了部分软件……SQL Server只对最新的PHP7提供了64位的驱动组件程序,对PHP5只有32位的,大家安装过程中要注意,PHP5系统只能用32位的php程序包,除了SQL Server的PHP驱动程序,大家可能还需要安装SQL Server的ODBC驱动程序。

工具/原料

Windows 7(64 bit)

SQL Server 2012

PHP5.6.29/PHP7.0.14

nginx1.10.2/Apache

第一步:确保SQL Server 数据库配置信息准确可用

1、安装好SQL Server 2012数据库,SQL Server有两类账户:Windows 身份验证和SQL Server 身份验证,要确保数据库有“SQL Server身份验证”类型的账户供PHP驱动程序使用;

Windows下PHP使用SQL Server数据库

2、打开“SQL Server 配置管理器”,修改"SQL Server 网络配置"下“MSSQLSERVER 的协议”调用"TCP/IP"协议,并修改“IP 地址”选项卡下对应的ip地址为启用状态,大家根据自己的实际ip进行启用即可,一般使用系统安装后默认的ip即可;

Windows下PHP使用SQL Server数据库
Windows下PHP使用SQL Server数据库

3、确保SQL Server可被正常访问使用,建议使用第三方的数据库管理工具进行连接测试,我这使用了Navicat客户端进行了测试。

Windows下PHP使用SQL Server数据库

第二步:下载安装对应的驱动程序

1、下载Microsoft Drivers for PHP for SQL Server,地址为:https://www.microsoft.艘早祓胂com/en-us/download/details.aspx?id=20098,参照图片,根据自己PHP环境的版本信息选择对应的驱动程序;此处使用了PHP5.6和PHP7.0的程序,所以下载了SQLSRV32.EXE和SQLSRV40.EXE两个驱动程序;注意现在的SQL Server驱动最新仅能只能PHP7.0.14,暂时还不能支持最新的PHP7.1.0版本;

Windows下PHP使用SQL Server数据库
Windows下PHP使用SQL Server数据库
Windows下PHP使用SQL Server数据库
Windows下PHP使用SQL Server数据库

2、点击安装驱动程序SQLSRV32.EXE,选择解压文件路径,解压dll文件完成后,根据自己PHP的版本环境选择对应的驱动程序文件,注意区分PHP的线程安全版本(即ts版)还是非安全版本(nts版);

Windows下PHP使用SQL Server数据库
Windows下PHP使用SQL Server数据库
Windows下PHP使用SQL Server数据库

3、拷贝驱动文件php_pdo_sqlsrv_56_ts.dll和php_sqlsrv_56_ts.dll至PHP安装目录下的ext文件夹下面,修改配置php配置文件php.ini,添加以下两行extension=php_pdo_sqlsrv_56_ts.dllextension=php_sqlsrv_56_ts.dll

Windows下PHP使用SQL Server数据库

4、下载并安装“Microsoft ODBC Driver for SQL Server”程序,下载地址:https://msdn.罪焐芡拂microsoft.com/zh-cn/library/jj730314(v=sql.1).aspx,选择对应的版本,此处我下载的是“Microsoft ODBC Driver 11 for SQL Server”对应的amd64版本;运行msodbcsql.msi文件进行安装,完成Windows版的ODBC驱动安装工作;

第三步:编写PHP代码进行数据库连接调试

1、<?phpheader("Content-type: text/html; charset=utf-8");$serverName = "127.0.0.1媪青怍牙"; //数据库服务器地址$uid = "你的数据库用户名"; //数据库用户名$pwd = "你的数据库用户密码"; //数据库密码$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"localtest");$conn = sqlsrv_connect( $serverName, $connectionInfo);if( $conn == false){echo "连接失败!";die( print_r( sqlsrv_errors(), true));}else{echo "连接成功!"; }$query = sqlsrv_query($conn, "select top 10 * from 数据表名");while($row = sqlsrv_fetch_array($query)){ print_r($row);}?>

© 手抄报圈