PHP5连接不上SQL2005的解决办法-阿里云开发者社区

开发者社区> 数据库> 正文

PHP5连接不上SQL2005的解决办法

简介: 本来我的PHP连接的是SQL2000,呵呵,我知道大多数人都用MYSQL。处于对技术的狂热,我决定改用PHP5+SQLServer2005,谁知道,开局不顺,竟然连接不上,甚至觉得PHP5是胎里带不能连接SQL2005

本文转自IT摆渡网欢迎转载,请标明出处
摆渡网

更多php文章请阅读

php问题解决

  本来我的PHP连接的是SQL2000,呵呵,我知道大多数人都用MYSQL。处于对技术的狂热,我决定改用PHP5+SQLServer2005,谁知道,开局不顺,竟然连接不上,甚至觉得PHP5是胎里带不能连接SQL2005,但又不死心,捣腾了好几天,MSSQL模块死活也加载不上,后来在虚拟机上安装了WIN2003测试了一下,终于连接上了,加载MSSQL模块是没问题了,但是用mssql_connect("localhost", "sa", "")仍然连不上数据库,无奈之余上网查资料,终于搞定,说下经验:

  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:windowssystem32ntwdblib.dll和phpntwdblib.dll(保险期间请把PHP所依赖的php5ts.dll放到system32目录下)

  4. 运行 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议 Protocols,允许命名管道 "named pipes" 和 "tcp/ip",右键点击 "tcp/ip",打开属性 Properties 标签 "IP addresses",在 TCP 动态端口 "TCP Dynamic Ports" 输入1433(可以不填)

  5. 重启 SQL Server、IIS和PHP

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

  网上有些人说,要把php.ini配置文件里的mssql.secure_connection = Off 改成on,但我这里改了之后,似乎更连接不上SQL Server,后来又把mssql.secure_connection = Off 改回之后,终于连上了。

阅读了这篇文章的人还阅读了

php+mysql分页原理案例分析
php把HTML代码转换成文本输出的方法
如何设置访问index.php/index.html的时候自动切换到顶
提供PHP问题错误修改服务

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章