重新审视php+mssql

先说说原来是apache2.2.16+php5.3.3一直都没有成功,扔在那很久了

今天看有人用php5.2.13可以连sqlserver,于是也改用php5.2.13。

但改了php的版本以后,apache起不来了,报1067的错误,相当困惑啊,发现致命失误:

#把php5.3.3换成php5.2.13后有个文件忘记换掉了,"php5ts.dll"原来安装的时候把这个文件复制到system32,其实原来是可以不复制的,只要吧php的路径放到path里面,这个文件就不用放到system32下也可以找得到。以前造的孽啊...

#php.ini的extension_dir属性原来是"./",改成"./ext/"后没有效果,不知为何?故使用绝对路径"F:\www\PHP\ext\"

要确保php能连到sqlserver,需要准备一个文件,ntwdblib.dll,这个文件系统是自带的,但是自带并不表示好用,需要合适的版本才可以:

#ntwdblib.dll 版本 2000.2.8.0 对应 SqlServer2000(网络资料)

#ntwdblib.dll 版本 2000.80.194.0 对应 SqlServer2005(网络资料)

#ntwdblib.dll 版本 2000.80.2039 对应 SqlServer2008(亲自试验)

 

另外注意配置sqlserver 
#运行 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议 Protocols 
#允许命名管道 "named pipes" 和 "tcp/ip" 
#右键点击 "tcp/ip",打开属性 Properties 标签 "IP addresses" 
#在 TCP 动态端口 "TCP Dynamic Ports" 填入 1433 
#重启 SQL Server

 困惑已久的php连接sqlserver2008的问题终于解决了

原文地址:https://www.cnblogs.com/ShepherdIsland/p/php_sqlserver_2008.html