多语言展示
当前在线:1267今日阅读:23今日分享:31

thinkphp连接sqlserver2008,吐血经验,亲测成功

php与mysql连接很容易,但是如果必须是thinkphp和sqlserver2008连接,那么本文可以帮到你
工具/原料
1

thinkphp3.2.2

2

sqlserver2008 R2

3

msodbcsql.msi

4

php_sqlsrv_53_ts_vc9.dll

5

php_pdo_sqlsrv_53_ts_vc9.dll

方法/步骤
1

首先根据php版本选择php_pdo_sqlsrv_53_ts_vc9.dll的版本,其中53代表是php5.3 ts代表线程安全,nts表示线程不安全1. VC6与VC9的区别:VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本。VC9版本是使用Visual Studio 2008编译器编译的,如果你的PHP是用IIS来架设的,那你就选择 VC9版本。VC9版本是针对IIS服务器的版本,没有对APACHE的支持,而VC6版本对IIS和apache都提供了支持2.Ts与nts的区别:Windows版的PHP从版本5.2.1开始有Thread Safe和NoneThread Safe之分。先从字面意思上理解,Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。3.PHP的两种执行方式:ISAPI和FastCGI。ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择ThreadSafe版本;而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择NonThread Safe版本。通过phpinfo(); 查看其中的 Thread Safety 项,这个项目就是查看是否是线程安全,如果是:enabled,一般来说应该是ts版,否则是nts版。

2

确定dll后放入php目录下的扩展文件夹,并更改extension=php_sqlsrv_53_ts_vc9.dll extension=php_pdo_sqlsrv_53_ts_vc9.dll (这里的版本由自己下载的版本名称决定)之后重启apache。

3

安装msodbcsql.msi重启Apache服务器

5

测试链接数据库,OK,成功啦,这个感觉有点繁琐,比mysql链接事儿多一点!

注意事项

多多百度其他资料!

推荐信息