时间:2021-05-26
PHP天生支持MySQL,但是有时候也想让它访问SQL Server,该怎么办呢?
最近找了点资料,测试成功了PHP访问SQLSvr的几种情况,限于时间,还没有测试更多不同环境,把测试过的记录如下:
测试环境:win7 x64 sp1,IIS 7.5, Apache 2.4 32位版本,PHP 5.2.6 win32, PHP 5.6.11 win32 ts(线程安全版)
注:由于“Microsoft Drivers for PHP for SQL Server”驱动程序目前只有32位版,所以如果是使用sql server数据库的朋友,不建议使用php 64位,否则会导致无法连接 sql server 数据库的问题!
php 5.2.6在iis上成功访问了sql2000
php 5.2.6在iis上成功访问了sql2008r2
php 5.6.11在apache上成功访问了sql2008r2
【5.2.6 -> SQL2000】
为什么要用5.2.6这么旧的php版本做测试呢,因为php 5.2版本,内置了php_mssql.dll 模块,
打开了php.ini中的extension=php_mssql.dll 配置选项,默认好像就支持mssql2000了,
打开phpinfo能看到相关的支持模块内容:
PS.IIS 7.0下安装PHP现在方便了,可以通过一个第三方小工具 PHP Manager来安装,也可以方便的切换iis下的php版本,这不是本文的主要内容,这里就不介绍了;
php manager for iis 7 下载安装地址: http://phpmanager.codeplex.com/
写一个测试的小例程:
<?php$server ="127.0.0.1\sql2000"; //服务器IP地址,如果是本地,可以写成localhost$uid ="sa"; //用户名$pwd ="yoooko"; //密码$database ="master"; //数据库名称//进行数据库连接$conn =mssql_connect($server,$uid,$pwd) or die ("connect failed");mssql_select_db($database,$conn);//执行查询语句$query ="select * from cs";$row =mssql_query($query);//打印输出查询结果while($list=mssql_fetch_array($row)){print_r($list);echo "<br>";}?>在IIS 7.5下运行结果如下:成功!
【5.6.11 -> SQL2008R2】
5.6以上的PHP已经没有php_mssql.dll,貌似也不再原生支持sql2000以上版本的sql server了,要通过第三方模块,在微软官网找到了:
Microsoft Drivers for PHP for SQL Server
http:///zh-cn/download/details.aspx?id=36434
如果正确的话,应该就OK了:
PS.由于新的模块是通过PDO方式访问SQL Server 2008R2,如果是本机访问,那么直接通过ip地址和sa账号就能访问了,
如果php和sql2008r2在不同电脑上,还得设置TCP 端口1433来访问,见下面第二张图,把动态端口改为0,把端口设置为14333如果你的SQL2000已经占用了1433,访问地址后面加个,xxxx端口号
sqlsrv:Server=192.168.1.xxx\sql2008r2,14333;Database=master
以上所述是小编给大家介绍的PHP 5.6.11 访问SQL Server2008R2的几种情况详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、下载SQLServer2008R2安装文件cn_sql_server_2008_r2_enterprise_x86_x64_ia64_dvd_522233.
今天部署ADRMS的时候,需要为RMS单独创建一个服务账号,于是联想起Server2008R2中的一个新功能:托管服务账号。首先我们先了解一下它是什么吧?托管服
服务器:WINDOWSSERVER2008R2SQL:SQLSERVER2008R2背景:同一个公司同一个局域网网络可以ping通但是不能连接服务器数据库提示错
SQL Server2008提供了一个增强的SQL命令Merge,用法参看MSDN:http://msdn.microsoft.com/zh-cn/librar
服务器上安装的WIN2008R2,然后没有在意机器名,安装了SQL2008R2数据库之后,配置AD域的时候修改了机器名。 然后,开始配置数据库镜像同步的时候,