thinkphp连接sqlserver2008
-
首先根据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版。
-
确定dll后放入php目录下的扩展文件夹,并更改
extension=php_sqlsrv_53_ts_vc9.dll
extension=php_pdo_sqlsrv_53_ts_vc9.dll
(这里的版本由自己下载的版本名称决定)
之后重启apache。
-
安装msodbcsql.msi
重启Apache服务器
-
thinkPHP配置
'DB_TYPE' => 'sqlsrv', // 数据库类型
'DB_HOST' => ' 192.168.2.1', // 服务器地址
'DB_NAME' => 'students', // 数据库名
'DB_USER' => 'sa', // 用户名
'DB_PWD' => '123456', // 密码
'DB_CHARSET'=> 'utf8', // 字符集
这里默认端口为1433,具体由你的sqlserver的配置决定,怎么配置请自行百度,在此不再赘述
(友情链接:http://jingyan.baidu.com/article/9faa7231a922c1473c28cb23.html)
-
测试链接数据库,OK,成功啦,这个感觉有点繁琐,比mysql链接事儿多一点!