PHP连接sqlserver的相关知识
本文档整理了php连接sql server数据库的服务器配置方法,实际测试用的是wamp服务器,web服务器是apache,php版本是php5.4,成功连接到server2012。
php连接sql server过程中用到微软的SQL Server Driver for PHP程序,本程序支持apahce,IIS。我用的是apache服务器,如果你的应用服务器是IIS的,只要选择相应的IIS驱动程序就可以,配置方法类似,具体的可查看SQL Server Driver for PHP文件夹内的SQLSRV_Help.chm文件。
从sql server2005开始,已经不能通过配置php.ini里面的php_mssql.dll扩展实现连接sqlserver。php_mssql.dll最高支持到sql server2000版本数据库连接(php中当然还是有这个扩展库的因此要禁用)。
sql server2005及以上版本的php连接要用到SQL Server Driver for PHP。这个扩展软件由微软提供。以下介绍两个SQL Server Driver for PHP的版本:
SQL Server Driver for PHP2.0版本:()
支持数据库版本:sql server2005,sql server2008
支持php版本:php5.2,php5.3
支持服务器软件:IIS,apache
SQL Server Driver for PHP3.0版本:()
支持数据库版本sql server2005,sqlserver2008,sql server
2012
支持php版本:php5.3,php5.4
支持服务器软件:IIS,apache
PHP连接sqlserver数据库的测试,配置实测总结如下:
我的是wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24-32b,使用SQL Server Driver for PHP3.0版本,可以通过php正常连接到sqlserver2012。使用SQL Server Driver for PHP2.0版本,可以通过php5.2正常连接到sql server2005与sql server2008。对于使用sql server2005的,推荐使用这版本配置。
实测版本的详细配置如下:
wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24-32b
1.直接安装(php是5.4以上版本)就可以了。
2.把SQL Server Driver for PHP
3.0解压到
E:\wamp\bin\php\php5.4.3\ext目录。
3.如果是sql server2005的话,直接下一步就可以;如果是sql server2008或以上版本还要安装一个微软的工具包sqlncli.msi,直接点击安装。
4.修改php.ini配置文件,在文件中增加下面的内容
extension=php_sqlsrv_54_ts_vc6.dll(ts:ThreadSafe)extension=php_pdo_sqlsrv_54_ts_vc6.dll
extension=php_pdo.dll
5.重启动wamp服务器,查看phpinfo信息。如果看到以下内容则恭喜你相关扩展库安装成功了!
6.然后写一个php连接sqlserver数据库的测试代码,如下图:<?php
header(“content-type:text/html;charset=utf-8″); $serverName=“(local)”;
$uid=“用户名”;
$pwd=“密码”;
$connectionInfo=
array(“UID”=>$uid,”PWD”=>$pwd,”Database”=>”test”); $conn=sqlsrv_connect($serverName,$connectionInfo);
if($conn==false)
{
echo“连接失败!”;
die(print_r(sqlsrv_errors(),true));
}
$query=sqlsrv_query($conn,“select top8id,title,content from st”);
while($row=sqlsrv_fetch_array($query)){
echo
$row['id'].”>#”.iconv(‘GB2312′,’UTF-8′,$row['titl e']).”>#”.iconv(‘GB2312′,’UTF-8′,$row['content']).”<br/>”;
}
?>
7.用浏览器去访问与sqlserver2014相关的php文件,正常的话就可以看到结果。
补充相关知识点(网上截取,只供参考):
环境:
-Apache2.2.6
-PHP5.2.5
-SQL Server2005
-Windows XP SP2
步骤:
mysql下载的zip版本安装步骤1.首先按通常做法配置好PHP5连接MS SQL Server
2.下载正确版本的ntwdblib.dll(2000.80.194.0),地址:www.webzila/dll/1/ntwdblib.zip
3.覆盖apache2.2.6\bin\ntwdblib.dll
4.覆盖php
5.2.5\ntwdblib.dll
5.运行SQL Server配置管理器:SQL Server Configuration Manager,打开协议Protocols
6.允许命名管道"named pipes"和"tcp/ip"
7.右键点击"tcp/ip",打开属性Properties标签"IP addresses"
8.在TCP动态端口"TCP Dynamic Ports"填入1433
9.重启SQL Server、Apache和PHP
使用以下方式连接MS SQL Server2005:
mssql_connect('localhost,1433',USERNAME,PASSWORD);
配置php
1、将php.ini中的extension=php_mssql.dll的注释符号去掉。
2、将php.ini将mssql.secure_connection=Off改为on。
3、将php_pdo_sqlsrv_54_nts.dll、php_sqlsrv_54_nts.dll
或php_pdo_sqlsrv_54_ts.dll、php_sqlsrv_54_nts.dll
(有ns表示是NotThreadSafe非线程)添加到
E:\wamp\bin\php\php5.4.3\ext文件夹下
注意:实际使用中发现如果通过php压缩文件手工安装php到iis下,必须重启机器而不仅仅是iis。
4、需要保证php或者系统system32下有ntwdblib.dll,查看属性确保其版本为8.00.194而不是7.0;
其他设置
如果php apache Sql Server2000都在同一台机器上,访问基本没有问题了。
如果Sql Server2000和php机器是分离的,需要确认ping sqlserver 所在机器的机器名能通,如过不通,修改php所在机器的
\system32\drivers\etc下的hosts文件,增加一行sqlserver所在机器的机器ip sqlserver所在机器的机器名字。
如果还是无法访问,需要确认php所在的机器有无暗转mdac。要不索性安装一下sqlserver的客户端好了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论