【发布时间】:2018-12-21 07:43:26
【问题描述】:
我正在使用 Laravel 5.6.27、PHP 7.1.9 和 SQL Server 2014 编写应用程序,并尝试了几种在线解决方案(我使用的版本中大多数都较低),包括来自本网站的解决方案。
基本上这是我到目前为止所做的,
将 .env 配置为:
DB_CONNECTION=sqlsrv
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mydatabasename
DB_USERNAME=sa
DB_PASSWORD=mypassword
database.php 到这个:
第 16 行:
'default' => env('DB_CONNECTION', 'sqlsrv'),
第 70 行:
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
],
我还尝试用实际凭据替换第 70 行中的那些条目,但仍然不成功。
我还从 SQLSRV52.EXE 和 SQLSRV43.EXE 以及非官方版本中尝试了这个扩展。
extension=php_sqlsrv_71_ts_x64.dll
extension=php_pdo_sqlsrv_71_ts_x64.dll
extension=php_pdo_sqlsrv_71_ts.dll
extension=php_sqlsrv_71_ts.dll
extension=php_pdo_sqlsrv_71_ts_x86.dll
extension=php_sqlsrv_71_nts_x86.dll
extension=php_pdo_sqlsrv_7_ts_x86.dll
extension=php_pdo_sqlsrv_71_ts_x64.dll
这是我运行php artisan migrate时遇到的错误:
Illuminate\Database\QueryException : could not find driver (SQL: select * from sysobjects where type = 'U' and name = migrations)
当我运行DB::connection()->getPdo();
$ php artisan tinker
Psy Shell v0.9.6 (PHP 7.1.9 — cli) by Justin Hileman
>>> DB::connection()->getPdo();
PDOException with message 'could not find driver'
>>>
此外,我不确定登录页面"SQLSTATE[HY000]: [Microsoft][ODBC Driver 17 for SQL Server]Protocol error in TDS stream (SQL: select top 1 * from [users] where [email] = test1234@gmail.com)" 中的此错误是否意味着它能够通过网络登录找到驱动程序,而只有php artisan 可以找到驱动程序。
我希望有人能启发我。
非常感谢!
【问题讨论】:
-
您是单独尝试扩展还是一次全部尝试?
-
这个问题你解决了吗?
标签: php sql-server laravel pdo sql-server-2014