1. ODBC驱动和PHP驱动下载和安装
1.1 下载
ODBC驱动下载最v17版本(17.5.2),点这里下载ODBC Driver for SQL Server.
- 如果后面执行查询时提示”SQLSTATE [HY000]:[Microsoft] [SQL Server的ODBC驱动程序11] TDS协议错误”, 则更换ODBC驱动版本
到这里下载适合PHP7.3.X版本的驱动sqlsrv;到这里下载适合PHP7.3.X版本的驱动pdo_sqlsrv。两个都下nts,x64版本。
- 一定要下对匹配PHP版本的驱动文件, 否则驱动将不被识别.
1.2 安装
(1) ODBC驱动安装
- ODBC驱动直接双击安装即可, 中间选择全部安装。
(2) sqlserver的PHP版本驱动安装
- 把第一步下载到的
.dll
文件和.pdb
拷贝到PHP目录下的ext子目录。 - 在phpstudy中开启相对应的扩展(有可能要重启Apache才会出现)
- 也可以通过编辑PHP的配置文件
php.ini
文件开启,在php.ini
文件中,找到extension=php_pdo_mysql.dll
, 然后在它下面添加以下配置(1.最前面不能有分号”;”; 2.extension的值就是放大ext目录中的.dll
文件的名称):
extension=php_sqlsrv
extension=php_pdo_sqlsrv
extension=php_odbc
- 重启Apache, 打开PHP探针,如果出现下面的信息,就代表安装成功.
2. laravel中配置第二个数据库链接
2.1 配置数据库链接
- 在
/config/database.php
中, 在key为connections
的数组元素的值数组中, 添加下面的配置信息(注意,下面的配置,并没有使用env()方法从.env文件中获取配置信息, 而是直接在database.php
脚本文件中写死):
// 配置项的key为sqlsrv
'sqlsrv' => [
'driver' => 'sqlsrv',//驱动名称
// 'url' => 'LK',//url可以不填, 就是sql服务器名
'host' => '127.0.0.1',//数据库服务器地址
'port' => '1433',//数据库服务器监听的端口号
'database' => 'DataDepart',//要连接的数据库名
'username' => 'sa',//数据库用户名
'password' => 'KISSlinux2008',//数据库密码
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
],
2.2 执行查询
使用laravel提供的DB门面类的connection(上一步配置中的key值)方法来使用非默认数据库.
在connections()方法指定数据库后, 就可以用DB的其他方法执行数据库操作了.
$data = DB::connection('sqlsrv')->select('select * from ip_doc');
dump($data);