php执行sql *** ,phpsql注入什么意思

踩了无数的坑php执行sql *** ,终于搞定了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

php执行sql方法

下载 SQLSRV40.EXE

php执行sql方法

解压缩后的文件

解压后选择自己 PHP 版本的扩展,php执行sql *** 我是64位的,注意区分 nts 和 ts 版本。

php执行sql方法

Thread Safety是enabled,基本就是ts版本。

PS:貌似LNMP环境下Thread Safety是disabled,是nts版本。

复制扩展到 PHP 的 EXT 目录下面,php执行sql *** 我的在wamp目录下bin目录里的php各版本文件夹里。

为了保险起见,我还下载复制了SQLSRV56里的扩展文件,SQLSRV56自己搜索下载吧,这里面支持PHP更多版本。

php执行sql方法

这一大堆,挑选自己版本的扩展文件,都弄到PHP的EXT目录里。

除此之外,我还从https://pecl.php.net/package/pdo_sqlsrv/5.9.0/windows下载了对应PHP版本的扩展文件,一次管够!

php执行sql方法

2,接下来修改php.ini文件,增加extension内容。

extension=php_sqlsrv_7_ts_x64.dll

extension=php_pdo_sqlsrv_7_ts_x64.dll

extension=php_sqlsrv_71_ts_x64.dll

extension=php_pdo_sqlsrv_71_ts_x64.dll

extension=php_sqlsrv_72_ts_x64.dll

extension=php_pdo_sqlsrv_72_ts_x64.dll

extension=php_sqlsrv_73_ts_x64.dll

extension=php_pdo_sqlsrv_73_ts_x64.dll

extension=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=36434

Microsoft® ODBC Driver 13 for SQL Server - Windows + Linux(支持SQL Server2016)

下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=50420

4,重要说明:上面ODBC扩展不支持PHP7.2以上版本,就问你坑不坑!php执行sql ***

支持PHP7.2以上版本的ODBC自己从github下载。

下载地址:https://github.com/Microsoft/msphpsql/releases。

另外,还需要安装vc++2012运行库,自己搜索下载。

搞完上面,打印下phpinfo()就能看到支持sqlsrv了。

php执行sql方法

友情提示:

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的配置,其他版本看着搞吧。

发布于 2024-09-30 13:09:03
收藏
分享
海报
0 条评论
54
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~