首页 > 编程 > PHP > 正文

thinkphp5.0.6 连接SQLServer2008r2 配置总结

2019-11-08 20:28:58
字体:
来源:转载
供稿:网友

thinkphp连接SQLServer2008数据库配置

笔者使用的环境是Windows 2008 x64位系统,安装了IIS7.0,自己搭建了xampp,内含Apache2.4,PHP5.6.21,MySQL(10.1.13-MariaDB)。我只使用了IIS配合php,使用thinkphp5.0.6搭建的网站,原本使用的MySQL数据库,现在需要连接SQLServer2008读写一些数据。网上找了大量的资料并实践,现总结一下。

PHP连接MSSQL2008/2005数据库与以往的连接mssql2000是不一样的,连接mssql2008/2005是需要自己添加PHP对MSSQL连接的驱动扩展了,而我们常用的hp.ini中的extension=php_mssql.dll扩展只适用连接于MSSQL2000哦

下载一个SQL Server Driver for PHP

这是一个扩展包,我是在这里下载的 http://www.microsoft.com/en-us/download/details.aspx?id=20098 根据你的php版本选择对应的安装包。由于我的PHP版本是5.6,所以我下载的是 SQLSRV32.EXE, 运行后选择解压目录为 xampp/php/ext/ 打开该目录,里面出现了

php_pdo_sqlsrv_52_nts.dllphp_pdo_sqlsrv_52_ts.dllphp_pdo_sqlsrv_53_nts_vc6.dllphp_pdo_sqlsrv_53_nts_vc9.dllphp_pdo_sqlsrv_53_ts_vc6.dllphp_pdo_sqlsrv_53_ts_vc9.dllphp_sqlsrv_52_nts.dllphp_sqlsrv_52_ts.dllphp_sqlsrv_53_nts_vc6.dllphp_sqlsrv_53_nts_vc9.dllphp_sqlsrv_53_ts_vc6.dllphp_sqlsrv_53_ts_vc9.dllSQLServerDriverForPHP.chm(手册,英文够好可以看看)SQLServerDriverForPHP_License.rtfSQLServerDriverForPHP_Readme.htm(自述文件)

配置php.ini

(1)在php.ini中添加如下两条扩展:

extension=php_sqlsrv_56_ts.dllextension=php_pdo_sqlsrv_56_ts.dll

(2)将;extension=php_pdo.dll前面的;去掉,开启pdo连接扩展··

(我怀疑这个dll是旧版本php需要配置的,我的5.6版本没有这个dll,我也没有添加这行配置,也配置成功了)

(3)重新启动apache或者IIS,我是直接结束掉了进程中的pgp-cgi.exe就实现了php配置刷新。 备注:不要用***_nts.dll的文件,这样就会失败

extension=php_sqlsrv_56_nts.dllextension=php_pdo_sqlsrv_56_nts.dll

(4)这时候你在phpinfo()中的PDO配置中会看见已经存在sqlsrv了。

下载安装一个Microsoft® ODBC Driver 11 for SQL Server

https://www.microsoft.com/download/details.aspx?id=36434 我不知道选择语言有什么用处。反正我安装的是简体中文。

To access data in a SQL Server 2005 or later database using the Microsoft Drivers for PHP for SQL Server (SQL Server 2008 or later if using version 3.2 or 3.1), you must have the following components installed on your computer:

结语

配置的难点在于确定php版本以及SQL Server Driver for PHP的对应关系。 查看Microsoft官网的介绍

附录

SQLServer 查询当前配置的字符编码:

SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')

下面是查询结果对应表:

返回值 编码信息
936 简体中文GBK
950 繁体中文BIG5
437 美国/加拿大英语
932 日文
949 韩文
866 俄文
65001 unicode UFT-8

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表