PHP连接sqlserver的相关知识Word文件下载.docx

上传人:b****5 文档编号:20758242 上传时间:2023-01-25 格式:DOCX 页数:6 大小:39.87KB
下载 相关 举报
PHP连接sqlserver的相关知识Word文件下载.docx_第1页
第1页 / 共6页
PHP连接sqlserver的相关知识Word文件下载.docx_第2页
第2页 / 共6页
PHP连接sqlserver的相关知识Word文件下载.docx_第3页
第3页 / 共6页
PHP连接sqlserver的相关知识Word文件下载.docx_第4页
第4页 / 共6页
PHP连接sqlserver的相关知识Word文件下载.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

PHP连接sqlserver的相关知识Word文件下载.docx

《PHP连接sqlserver的相关知识Word文件下载.docx》由会员分享,可在线阅读,更多相关《PHP连接sqlserver的相关知识Word文件下载.docx(6页珍藏版)》请在冰豆网上搜索。

PHP连接sqlserver的相关知识Word文件下载.docx

支持数据库版本sqlserver2005,sqlserver2008,sqlserver2012

php5.3,php5.4

PHP连接sqlserver数据库的测试,配置实测总结如下:

我的是wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24-32b,使用SQLServerDriverforPHP3.0版本,可以通过php正常连接到sqlserver2012。

使用SQLServerDriverforPHP2.0版本,可以通过php5.2正常连接到sqlserver2005与sqlserver2008。

对于使用sqlserver2005的,推荐使用这版本配置。

实测版本的详细配置如下:

wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24-32b

1.直接安装wamp.exe(php是5.4以上版本)就可以了。

2.把SQLServerDriverforPHP3.0解压到E:

\wamp\bin\php\php5.4.3\ext目录。

3.如果是sqlserver2005的话,直接下一步就可以;

如果是sqlserver2008或以上版本还要安装一个微软的工具包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,“selecttop8id,title,contentfromtest.dbo.test”);

while($row=sqlsrv_fetch_array($query)){

echo$row['

id'

].”######”.iconv(‘GB2312′,’UTF-8′,$row['

title'

]).”######”.iconv(‘GB2312′,’UTF-8′,$row['

content'

]).”<

br/>

>

7.用浏览器去访问与sqlserver2014相关的php文件,正常的话就可以看到结果。

补充相关知识点(网上截取,只供参考):

环境:

-Apache2.2.6

-PHP5.2.5

-SQLServer2005

-WindowsXPSP2

步骤:

1.首先按通常做法配置好PHP5连接MSSQLServer

2.下载正确版本的ntwdblib.dll(2000.80.194.0),地址:

3.覆盖apache2.2.6\bin\ntwdblib.dll

4.覆盖php5.2.5\ntwdblib.dll

5.运行SQLServer配置管理器:

SQLServerConfigurationManager,打开协议Protocols

6.允许命名管道"

namedpipes"

和"

tcp/ip"

7.右键点击"

,打开属性Properties标签"

IPaddresses"

8.在TCP动态端口"

TCPDynamicPorts"

填入1433

9.重启SQLServer、Apache和PHP

使用以下方式连接MSSQLServer2005:

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;

其他设置

如果phpapacheSqlServer2000都在同一台机器上,访问基本没有问题了。

如果SqlServer2000和php机器是分离的,需要确认pingsqlserver所在机器的机器名能通,如过不通,修改php所在机器的\system32\drivers\etc下的hosts文件,增加一行sqlserver所在机器的机器ipsqlserver所在机器的机器名字。

如果还是无法访问,需要确认php所在的机器有无暗转mdac。

要不索性安装一下sqlserver的客户端好了。

配置sqlserver

a.运行SQLServer配置管理器:

b.允许命名管道"

c.右键点击"

d.在TCP动态端口"

e.重启SQLServer

FAQ常见问题:

1报错:

Fatalerror:

Calltoundefinedfunctionmssql_connect()

解决:

使用MSSQL_系列函数

要使用这两种都需要在php.ini进行设定:

(1)允许DCOM,需要将php.ini中的;

com.allow_dcom=TRUE前的分号"

;

"

去掉。

(2)使用MSSQL扩展,需要php.ini中的;

extension=php_mssql.dll前的分号"

(关键)

(3)确认extension_dir为正确路径,以本机为例:

extension_dir="

c:

\AppServ5.2.6\php\ext"

(4)如果仍然机器报错说找不到c:

\AppServ5.2.6\php\ext\php_mssql.dll但明明存在这个文件。

解决方法:

将php_mssql.dll,ntwdblib.dll拷贝到系统目录\system32下重启测试。

(注:

上面两个dll文件不在相同目录下,我的为c:

\AppServ5.2.6\php\ext\php_mssql.dll;

\AppServ5.2.6\php\ntwdblib.dll)

另外设置好了后记得重启服务器哦。

2.mssql_connect()Unabletoconnecttoserver

确认SQLServer2005服务器正常.检查TCP/IP已经启用

同时右键查看属性:

已经启用是否选择是

确认服务器正确之后,再确认ntwdblib.dll文件位置是否放到了c:

\windows\system32下

同时要保证ntwdblib.dll这个文件的版本和sqlserver的版本对应:

下面是对应关系:

2.ntwdblib.dll版本为2000.2.8.0是对应SqlServer2000(这个是网络查资料和猜测,没装2000)

2.ntwdblib.dll版本为2000.80.194.0是对应SqlServer2005(这个是用实验证明可以用,本人就是用笔记本装了2005)

3.ntwdblib.dll版本为2000.80.2039是对应SqlServer2008(这个是猜测没有装2008)

6.其他问题:

解决问题如下:

1.下载两个文件php_mssql.dll和ntwdblib.dll

php_mssql.dll如果这个没有复制到c:

\windows\system32下,就很容易出现;

ntwdblib2093.dll这个文件要注意版本,不然后面搞得很郁闷.

如果你的MSSQL数据库是2000的,基本上操作都是一样的。

新增一台win2003server系统的服务器。

以前其他的服务器上使用php5.0/5.1,数据库是SQLServer2000;

本次则打算安装SQLServer2005,php5.3.2;

据了解,php5.3版本使用微软的FastCGI模式,这种模式和传统的CGI模式相比采用了更加合理的解析进程启动模式,速度比CGI快2倍;

在PHP5.3以上的版本已经对ISAPI模式不支持。

在已经安装iis6和mssqlserver2005后,整个安装过程是

1.安装FastCGI;

2.安装php5.3.2;

3.安装SQLServerDriverforPHP1.1驱动;

一、在服务器上安装FastCGI

在服务器上打开下面网址运行MicrosoftWeb平台安装程序:

勾选web服务器/自定义/应用程序开发/FastCGI1.0,下一步直至FastCGI安装完成;

有关FASTCGI的官方说明文档:

二、安装php5.3.2

下载网址:

我们下载这里目前所见的最新版本php-5.3.2-Win32-VC9-x86.msi到服务器上,VC6用于apache,vc9用于win2003serveriis等;

熟悉php的程序员可以下载zip版自行配置;

运行php-5.3.2-Win32-VC9-x86.msi,安装中出现对话框,选择安装目录C:

\PHP,选择IISFASTCGI;

完成安装。

三、配置IIS支持PHP

1.FACTCGI安装后在c:

\windows\system32\inetsrv下有五个文件,其中有用的是:

fcgtext.dll,fcgitext.ini;

打开FASTCGI配置文件fcgitext.ini,在最后[Types]修改为这样的样式:

[Types]

php=PHP

[PHP]

ExePath=c:

\Php\php-cgi.exe

2.打开IIS管理器,网站上点右键-属性-主目录-配置-添加fcgiext.dll为可执行文件,配置如下图

经过上述步骤,已经完成了PHP5.3.2在iis6上的安装;

如果下载的是zip版,则需对php.ini文件进行配置;

之后,在iis里默认文档添加php。

四、安装SQLServerDriverforPHP1.1驱动

SQLServerDriverforPHP1.1驱动支持SQLServer2005和SQLServer2008,目前最新的下载地址是:

系统环境:

1.安装文件名为SQLServerDriverForPHP11.EXE;

2.拷贝驱动php_sqlsrv_53_ts_vc9.dll到相应的位置PHP目录下ext文件夹内;

3.配置的时候若需要配置一个PHP的扩展,此扩展需要将相关的dll文件全部复制到PHP的扩展目录里面,然后通过修改php.ini来实现PHP的扩展,在php.ini里面需要指明扩展路径,一般情况是在最末尾添加一行,所以修改php.ini实现扩展:

在php.ini的一大堆;

extension=**.dll格式里面添加一行添加的一行内容为:

extension=php_sqlsrv_53_ts_vc9.dll

保存php.ini后拷贝一份到windows目录下;

选择php_sqlsrv_53_ts_vc9.dll的原因在于,它是线程安全的驱动,如果服务器本身的环境是使用的php5ts.dll,对应的就用这个驱动;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1