PHP连接SQLServer2005 的问题解决方法

yipeiwu_com6年前PHP代码库
后来火了,在虚拟机装上WIN2003一试,加载MSSQL模块是没问题了,但是用mssql_connect("localhost", "sa", "");却怎么也连不上数据库,后来上网查了很多资料,才终于搞定了:


环境:IIS6.0+PHP5+SQL Server2005

SQL Server安装的时候选择混合登陆模式,即windows和sql server身份验证模式。

步骤:

1. 首先按通常做法配置好PHP5连接MS SQL Server

PHP.ini 里面打开 extension=php_mssql.dll 选项 (就是把前面的 ; 号去掉)

2. 下载正确版本的 ntwdblib.dll (2000.80.194.0)
3. 覆盖 c:windows\system32\ntwdblib.dll
4. 覆盖 php\ntwdblib.dll(有时候完成了这一步也不成功的话,就把PHP所依赖的php5ts.dll放到system32目录下)
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、IIS和PHP

10.用主机名+端口号来连接的,mssql_connect("localhost,1433", "sa", "");(我试了一下,不用也行)


网上有些人说,要把php.ini配置文件里的mssql.secure_connection = Off 改成on,结果我改了之后,试了好久都连接不上SQL Server,后来尝试把mssql.secure_connection = Off 改回成Off之后,终于连上了。

相关文章

is_uploaded_file函数引发的不能上传文件问题

起因: 在一个项目中,接到用户反馈说其所有客户不能上传文件,都返回失败。经过排查发现是PHP中的is_uploaded_file函数在捣鬼。 细节分析: 在正常情况下,通过PHP 上传文...

对PHP新手的一些建议(PHP学习经验总结)

这些建议都是我自身亲历成长过程中积累的一些看法,仅作参考,相信百分之八十对你都有帮助! 刚学习PHP的时候不要纠结使用哪个环境?appserv、wamp集成环境都不错 编辑器很...

PHP实现时间日期友好显示实现代码

系统的友好性在开发过程中是非常重要的,一个系统非常友好不光可以带给用户非常棒的使用体验,而且还可以使系统有这更长的寿命。今天这篇博文主要来展示一个我们如何让日期时间更加友好的显示。 下面...

本地计算机无法启动Apache故障处理

最近因工作需要,要学习PHP的基础编程,于是学习架设PHP工作环境。 但按照教材上介绍的那样,安装了WMAP后,一直无法运行成功。后发现Apache一直都不在运行状态。到WMAP中的Ap...

PHP 读取文件的正确方法

让我们算一算有多少种方法 处理诸如 PHP 之类的现代编程语言的乐趣之一就是有大量的选项可用。PHP 可以轻松地赢得 Perl 的座右铭“There's more than one wa...