在Laravel 5.4中无法使用sqlsrv迁移数据库(找不到驱动程序)

时间:2018-08-22 11:26:20

标签: php laravel laravel-5 sqlsrv

我尝试在laravel 5.4中使用迁移数据库(MS SQL),但出现错误:

$ php artisan migrate  
  

在Connection.php第647行中:

     

找不到驱动程序(SQL:从type ='U'的sysobjects中选择*   和名称=迁移)

P.S:但是对于查询,我可以正常使用。我只有在迁移时才有问题。

1 个答案:

答案 0 :(得分:0)

假设您使用的是Windows

安装Microsoft PHP驱动程序

Microsoft PHP Driver for SQL Server

也有Linux驱动程序。

在任何地方提取下载的文件。我们只需要* .dll。

对于WINDOWS10 x 64

将dll复制到您的PHP \ ext目录中。

确保已复制 php_pdo_sqlsrv_72_ts_x64.dll和extension = php_sqlsrv_72_ts_x64.dll

现在,编辑您的PHP.INI文件。

添加以下扩展名

扩展名= php_pdo_sqlsrv_72_ts_x64.dll, extension = php_sqlsrv_72_ts_x64.dll

在您的PHP.INI文件中(仅对于Windows 10,在其他Windows和Linux系统上使用相关的dll)

重新启动Apache2服务器(位于bin中-或者作为Windows中的服务)

./ httpd -k重新启动

安装MS ODBC驱动程序(必须同样安装)

ODBC Driver for SQL Server

-安装它们。

打开SQL SERVER配置管理器

选择

SQLSERVER协议

选择

TCP / IP

协议

启用=是

IP地址

IPAll TCP端口= 1433

重新启动MS SQL SERVER

右键单击数据库引擎(IP地址/ MSSQLSERVER) 重新启动

现在您可以将模型迁移到MS Server

LARAVEL .ENV

DB_CONNECTION = sqlsrv

DB_HOST = localhost或PCNAME \ MSSQLSERVERNAME

DB_PORT = 1433

DB_DATABASE =您的数据库

DB_USERNAME =您的用户名

DB_PASSWORD =您的密码


检查连接

if(DB::connection()->getDatabaseName())
{
    echo "<h3>connected successfully to database ".DB::connection()->getDatabaseName() . "</h3>";
}