PHP连接SQLServer2005 的问题解决方法
程序员文章站
2022-08-14 09:01:51
后来火了,在虚拟机装上win2003一试,加载mssql模块是没问题了,但是用mssql_connect("localhost", "sa", "");却怎么也连不上数据库...
后来火了,在虚拟机装上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之后,终于连上了。
环境: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之后,终于连上了。