php - Laravel 5.7 无法连接到 Windows 上的 SQLSRV 数据库(找不到驱动程序)
问题描述
我的环境文件
DB_CONNECTION=sqlsrv
DB_HOST=DESKTOP-ATB1EFG
DB_DATABASE=frontdesk
DB_USERNAME=sa
DB_PASSWORD=something_secret123
DB_PORT=1433
我已经使用原始 php 进行了如下测试,它已成功连接并返回“已连接”字符串。
serverName = "DESKTOP-ATB1EFG";
$connectionOptions = array(
"Database" => "frontdesk",
"Uid" => "sa",
"PWD" => "something_secret123"
);
//Establishes the connection
$conn = sqlsrv_connect($serverName, $connectionOptions);
if($conn){
echo "Connected!";
}else{
echo "Failed";
}
但是,当我尝试使用php artisan migrate进行迁移时,它返回 QueryExeption
找不到驱动程序(SQL:select * from sysobjects where type = 'U' and name = migrations)
异常跟踪:
1 PDOException::(“找不到驱动程序”)
C:\wamp64\www\frontdesk.sys\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:70
2
PDO::__construct("dblib:host=DESKTOP-ATB1EFG:1433;dbname=frontdesk;charset=utf8", "sa", "something_secret123", []) C:\wamp64\www\frontdesk.sys\vendor\ laravel\framework\src\Illuminate\Database\Connectors\Connector.php:70
我已经检查了 php 7.2.10,它已经启用了扩展
extension=php_sqlsrv_72_nts_x64.dll
extension=php_pdo_sqlsrv_72_nts_x64.dll
extension=php_sqlsrv_72_ts_x64.dll
extension=php_pdo_sqlsrv_72_ts_x64.dll
解决方案
我通过添加扩展解决了这个问题:
extension=php_pdo_sqlsrv_71_ts_x64.dll
extension=php_sqlsrv_71_ts_x64.dll
在php7.1.22文件夹和apache文件夹php.ini
中。php.ini
谢谢。
推荐阅读
- macos - Android Studio 经常死机
- python - 使用 matplotlib 的 x 轴的不同比例
- python-2.7 - 更改序列长度时出错
- maven - 在 CI/CD 管道中使用 Maven 和 JUnit 构建 Spring Boot 项目
- java - 在 getBody() Volley 中发送数据
- hive - 用户错误,流超过限制 [2,048] java.lang.IllegalArgumentException: 流超过限制 [2,048]
- java - 与常规查询相比,Hibernate 的命名查询性能是否更好?
- php - Wordpress 缓存并重定向到主页以外任何页面的旧 URL
- sql - 使用函数调用从选择中插入到表的 Oracle 中的性能
- java - Springboot java @CrossOrigin 不起作用,因为它应该起作用,当这个注释存在时为什么我必须做额外的配置?