PHP 5.6.11 访问SQL Server2008R2的几种情况详解

前端之家收集整理的这篇文章主要介绍了PHP 5.6.11 访问SQL Server2008R2的几种情况详解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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 下载安装地址: /

写一个测试的小例程:

"; } ?>

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

【5.6.11 -> SQL2008R2】

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

Microsoft Drivers for PHP for SQL Server

下载链接地址有四个文件

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

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了;

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

PHP;"> PHP try { $dbName = "sqlsrv:Server=127.0.0.1\sql2008r2;Database=master"; $dbUser = "sa"; $dbPassword = "yoooko"; $db = new PDO($dbName,$dbUser,$dbPassword); if ($db) { echo "database connect succeed.
"; } } catch (PDOException $e) { $content = iconv("UTF-8","gbk",$e->getMessage()); echo $content . "
"; } //echo "Hello PDO to MS sqlSrv!"; ?>

如果出现如下提示

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

下载地址:

如果正确的话,应该就OK了:

PS.由于新的模块是通过PDO方式访问sql Server 2008R2,如果是本机访问,那么直接通过ip地址和sa账号就能访问了,

如果PHPsql2008r2在不同电脑上,还得设置TCP 端口1433来访问,见下面第二张图,把动态端口改为0,把端口设置为14333如果你的sql2000已经占用了1433,访问地址后面加个,xxxx端口号

sqlsrv:Server=192.168.1.xxx\sql2008r2,14333;Database=master

以上所述是小编给大家介绍的PHP 5.6.11 访问sql Server2008R2的几种情况详解。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

原文链接:https://www.f2er.com/php/19196.html

猜你在找的PHP相关文章