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

标签 laravel migration odbc sqlsrv

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

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

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

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

下面是我的 .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=***************

php.ini

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

最佳答案

如何在 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

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

“7.2 Thread Safe (TS) x86”对我来说适用于“sqlsrv”和“pdo_sqlsrv”扩展。

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

enter image description here

找到这个解决方案非常困难。我希望,这也会对您有所帮助。祝一切顺利:)

关于windows下使用sqlsrv数据库时Laravel迁移找不到驱动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49333044/

相关文章:

php - 如何将 javascript 日期转换为 Carbon Date?

laravel - 对/autodiscover/autodiscover.xml 的请求导致 TokenMismatchException

mysql - 如何在 laravel 中使用 FIND_IN_SET 获取最后更新的记录?

php - 拉维尔 : How to send variable from one page to another in blade

MySQL 将数据库列从 Blob 转换为单独的部分

svn - 从 Windows 上的 VisualSVN 迁移到基于 linux 的 svn

python - Pyodbc 驱动程序为空

android - 在 Android 上的 Realm 中,如何迁移(添加)新的链接字段

vb.net - 年、月、日参数描述了无法表示的 DateTime 如何忽略

c++ - 如何在调用 SQLGetData 之前知道数据的大小