189 8069 5689

PHP5.6.11访问SQLServer2008R2几种情况的示例分析-创新互联

小编给大家分享一下PHP5.6.11访问SQL Server2008R2几种情况的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

创新互联从2013年成立,是专业互联网技术服务公司,拥有项目成都网站建设、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元香格里拉做网站,已为上家服务,为香格里拉各地企业和个人服务,联系电话:028-86922220

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能看到相关的支持模块内容:


PHP5.6.11访问SQL Server2008R2几种情况的示例分析

PS.IIS 7.0下安装PHP现在方便了,可以通过一个第三方小工具 PHP Manager来安装,也可以方便的切换iis下的php版本,这不是本文的主要内容,这里就不介绍了;


php manager for iis 7 下载安装地址: http://phpmanager.codeplex.com/


PHP5.6.11访问SQL Server2008R2几种情况的示例分析

PHP5.6.11访问SQL Server2008R2几种情况的示例分析

写一个测试的小例程:

";
}
?>

在IIS 7.5下运行结果如下:成功!


PHP5.6.11访问SQL Server2008R2几种情况的示例分析

【5.6.11 -> SQL2008R2】


5.6以上的PHP已经没有php_mssql.dll,貌似也不再原生支持sql2000以上版本的sql server了,要通过第三方模块,在微软官网找到了:


Microsoft Drivers for PHP for SQL Server


http://www.microsoft.com/en-us/download/details.aspx?id=20098


下载链接地址有四个文件:

•SQLSRV30.EXE
•SQLSRV31.EXE
•SQLSRV32.EXE
•SQLSRV40.EXE


分别支持不同的PHp版本

•Version 4.0 supports PHP 7.0+
•Version 3.2 supports PHP 5.6, 5.5, and 5.4
•Version 3.1 supports PHP 5.5 and 5.4
•Version 3.0 supports PHP 5.4.


如果是PHP 5.2要下载一个SQLSRV20.EXE,这个文件目前在网上也能很容易的找到;


(虽然5.2这么旧的版本早就该被淘汰了,但是考虑到某些环境还需要用它)


php_pdo_sqlsrv_52_ts_vc6.dll


php_sqlsrv_52_ts_vc6.dll


PHP5.6.11访问SQL Server2008R2几种情况的示例分析

1. 我手里是PHP 5.6.11 win32 ts,要用到这个


php_sqlsrv_56_ts.dll
php_pdo_sqlsrv_56_ts.dll


这两个文件,复制到php\ext目录下,


2. php.ini 里加上以下两句:


extension=C:\PHP5\ext\php_sqlsrv_56_ts.dll
extension=C:\PHP5\ext\php_pdo_sqlsrv_56_ts.dll


3. 重启IIS或者Apache,


4. 通过phpinfo能够看到如下模块显示,我们的PHP应该此时就能访问SQL Server 2008R2了;


PHP5.6.11访问SQL Server2008R2几种情况的示例分析

PHP5.6.11访问SQL Server2008R2几种情况的示例分析

5、写一个小程序验证一下:


"; 
}
}
catch (PDOException $e)
{ 
$content = iconv("UTF-8","gbk",$e->getMessage()); 
echo $content . "";
}
//echo "Hello PDO to MS SqlSrv!";
?>

如果出现如下提示:


PHP5.6.11访问SQL Server2008R2几种情况的示例分析

可能你还需要安装 Microsoft® ODBC Driver 11 for SQL Server® - Windows


下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=36434


PHP5.6.11访问SQL Server2008R2几种情况的示例分析

如果正确的话,应该就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

PHP5.6.11访问SQL Server2008R2几种情况的示例分析

PHP5.6.11访问SQL Server2008R2几种情况的示例分析

以上是“PHP5.6.11访问SQL Server2008R2几种情况的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


本文名称:PHP5.6.11访问SQLServer2008R2几种情况的示例分析-创新互联
标题网址:http://cdxtjz.cn/article/cdccso.html

其他资讯