我在项目中使用 sqlsrv数据库连接,因为我需要连接到Microsoft SQL数据库。
我已成功安装 sqlsrv驱动程序,因为我可以连接到数据库以检索数据。
但是当我尝试进行Laravel Migration时,它显示错误:
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
答案 0 :(得分:1)
您可能需要将PHP版本升级到PHP 7.1。 现在确保正确配置文件 config / database.php 和 .env 。
请参阅此内容:https://laracasts.com/discuss/channels/general-discussion/connect-laravel-to-microsoft-sql
答案 1 :(得分:1)
如何在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线程安全(TS)x86”为我的“ sqlsrv”和“ pdo_sqlsrv”扩展工作。
重新启动xampp或apache,然后在测试php文件中打印phpinfo()时,您会看到已启用的'pdo_sqlsrv'扩展名
很难找到这个解决方案。希望对您有帮助。最好的:)
答案 2 :(得分:0)
与之抗争了一段时间后找到了解决方法:
您需要从here下载它,然后将文件提取到您的php文件夹中
答案 3 :(得分:0)
对于 Windows 10 (x64) 上的 PHP 7.4,我已经解决了以下相同的错误:
php_pdo_sqlsrv_74_ts_x64.dll
到 ext
文件夹(在我的设置中为 C:\Program Files\php74\ext
)extension=php_pdo_sqlsrv_74_ts_x64.dll
添加到 php.ini
文件中在我的 .env
文件中,我有 DB_CONNECTION=sqlsrv
,所以我首先认为应该使用 php_sqlsrv_74_ts_x64.dll
但它没有用。