php服务器(WAMP下ThinkPHP)

踩了无数的坑,终于搞定了WAMP下ThinkPHP6.0(PHP7.2)连接SQLServer数据库的方法。太难了!ThinkPHP还有很长的路要走,连接个SQL Server数据库费这个劲,捣鼓半天搞不定,还玩个毛线~记录下,以后解救自己,解救别人。具体步骤:1,下载 SQL Server 的 PHP 扩展(Microsoft Drivers for PHP for SQL Server),下载 SQLSRV40.EXE。下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=20098下载 SQLSRV40.EXE解压缩后的文件解压后选择自己 PHP 版本的扩展,我是64位的,注意区分 nts 和 ts 版本。Thread Safety是enabled,基本就是ts版本。PS:貌似LNMP环境下Thread Safety是disabled,是nts版本。复制扩展到 PHP 的 EXT 目录下面,我的在wamp目录下bin目录里的php各版本文件夹里。为了保险起见,我还下载复制了SQLSRV56里的扩展文件,SQLSRV56自己搜索下载吧,这里面支持PHP更多版本。这一大堆,挑选自己版本的扩展文件,都弄到PHP的EXT目录里。除此之外,我还从https://pecl.php.net/package/pdo_sqlsrv/5.9.0/windows下载了对应PHP版本的扩展文件,一次管够!2,接下来修改php.ini文件,增加extension内容。extension=php_sqlsrv_7_ts_x64.dllextension=php_pdo_sqlsrv_7_ts_x64.dllextension=php_sqlsrv_71_ts_x64.dllextension=php_pdo_sqlsrv_71_ts_x64.dllextension=php_sqlsrv_72_ts_x64.dllextension=php_pdo_sqlsrv_72_ts_x64.dllextension=php_sqlsrv_73_ts_x64.dllextension=php_pdo_sqlsrv_73_ts_x64.dllextension=php_pdo_sqlsrv.dll依然是为了保险起见,我增加了所有版本的extension配置,第二次管够!3,安装ODBC扩展,不安装这个扩展,会提示could not found driver。Microsoft® ODBC Driver 11 for SQL Server – Windows(支持SQL Server2005)下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=36434Microsoft® ODBC Driver 13 for SQL Server – Windows + Linux(支持SQL Server2016)下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=504204,重要说明:上面ODBC扩展不支持PHP7.2以上版本,就问你坑不坑!?支持PHP7.2以上版本的ODBC自己从github下载。下载地址:https://github.com/Microsoft/msphpsql/releases。另外,还需要安装vc++2012运行库,自己搜索下载。搞完上面,打印下phpinfo()就能看到支持sqlsrv了。友情提示:1,看好自己是ts,还是nts。2,PHP版本是64位,还是32位。太难了!这么复杂,不得让java们笑死~忘了说,搞定扩展后,在config/database.php的connnections数组中新增如下配置:'sqlsrv' => [// 数据库类型'type' => 'sqlsrv',// 服务器地址'hostname' => 'x.x.x.x',// 数据库名'database' => 'xxxx',// 数据库用户名'username' => 'sa',// 数据库密码'password' => 'xxxx',// 数据库连接端口'hostport' => '1433',// 数据库连接参数'params' => [],// 数据库编码默认采用utf8'charset' => 'utf8',// 数据库表前缀'prefix' => '',],这个是TP6的配置,其他版本看着搞吧。


本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.xiaosb.com/beian/36671/