我在项目中使用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”扩展
找到这个解决方案非常困难。我希望,这也会对您有所帮助。祝一切顺利:)
关于windows下使用sqlsrv数据库时Laravel迁移找不到驱动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49333044/