在windows下使用sqlsrv数据库Laravel迁移找不到驱动

Lim*_*eat 4 migration odbc laravel sqlsrv

我在我的项目中使用sqlsrv 数据库连接,因为我需要连接到 Microsoft SQL 数据库。

我已经成功安装了sqlsrv 驱动程序,因为我可以连接到数据库来检索数据。

但是当我尝试进行 Laravel 迁移时,它显示了一个错误:

Illuminate\Database\QueryException  : could not find driver (SQL: select * from sysobjects where type = 'U' and name = migrations)
Run Code Online (Sandbox Code Playgroud)

下面是我的 .env

DB_CONNECTION=sqlsrv
DB_HOST=**********.database.windows.net
DB_PORT=1433
DB_DATABASE=****************_4cd1_9d18_2a7d9ddbcd13
DB_USERNAME=***************_4cd1_9d18_2a7d9ddbcd13_ExternalWriter
DB_PASSWORD=***************
Run Code Online (Sandbox Code Playgroud)

配置文件

extension=php_xmlrpc.dll
extension=php_xsl.dll
extension=php_pdo_sqlsrv_7_nts_x64.dll
extension=php_pdo_sqlsrv_7_nts_x86.dll
extension=php_pdo_sqlsrv_7_ts_x64.dll
extension=php_pdo_sqlsrv_7_ts_x86.dll
extension=php_pdo_sqlsrv_71_nts_x64.dll
extension=php_pdo_sqlsrv_71_nts_x86.dll
extension=php_pdo_sqlsrv_71_ts_x64.dll
extension=php_pdo_sqlsrv_71_ts_x86.dll


extension=php_sqlsrv_7_nts_x64.dll
extension=php_sqlsrv_7_nts_x86.dll
extension=php_sqlsrv_7_ts_x64.dll
extension=php_sqlsrv_7_ts_x86.dll
extension=php_sqlsrv_71_nts_x64.dll
extension=php_sqlsrv_71_nts_x86.dll
extension=php_sqlsrv_71_ts_x64.dll
extension=php_sqlsrv_71_ts_x86.dll
Run Code Online (Sandbox Code Playgroud)

Kam*_*esh 6

如何在 xampp 上使用带有 PHP 7.2 版本的 SQL Server DLL 文件

https://github.com/Microsoft/msphpsql/releases

要从 PECL 存储库下载 PHP 7.1 或更高版本的 Windows DLL,请访问 SQLSRV 或 PDO_SQLSRV PECL 页面。

https://pecl.php.net/package/sqlsrv/5.6.1/windows

https://pecl.php.net/package/pdo_sqlsrv/5.6.1/windows

注意:在 php.ini 文件中添加扩展 dll 文件名时,不要忘记删除 'php_' 前缀。例如。

extension=pdo_sqlsrv
extension=sqlsrv
Run Code Online (Sandbox Code Playgroud)

不要更改您放在 /xampp/php/ext/ 目录中的实际文件名。

“7.2 线程安全 (TS) x86”适用于我的 'sqlsrv' 和 'pdo_sqlsrv' 扩展。

重新启动 xampp 或 apache,然后您可以在测试 php 文件中打印 phpinfo() 时看到启用的“pdo_sqlsrv”扩展

在此处输入图片说明

很难找到这个解决方案。我希望,这也能帮助你。祝一切顺利 :)