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



我尝试在laravel 5.4中使用migrate databse(MS SQL(,但我得到错误:

$ php artisan migrate  

在连接中.php第 647 行:

找不到驱动程序(SQL:从类型 = 'U' 的系统对象中选择 *( 和名称 = 迁移(

PS:但是对于查询,我可以像往常一样使用它。我只有在迁移时才有问题。

假设你在Windows上

安装Microsoft PHP 驱动程序

Microsoft 适用于 SQL Server 的 PHP 驱动程序

也有Linux的驱动程序。

将下载的文件解压缩到任何地方。我们只需要*.dll。

适用 WINDOWS10 x 64

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

确保复制php_pdo_sqlsrv_72_ts_x64.dll和扩展=php_sqlsrv_72_ts_x64.dll

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

添加以下扩展

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

在你的 PHP 中。INI文件(仅适用于Windows 10,请在其他Windows和Linux系统上使用相关的dll(

重新启动 Apache2 服务器(它在 bin 中 - 或者,作为 Windows 中的服务(

./httpd -k restart

安装

MS ODBC 驱动程序(也必须安装这些驱动程序(

ODBC 驱动程序 SQL Server

-安装它们。

打开 SQL 服务器配置管理器

选择

SQLSERVER 的协议

选择

TCP/IP

协议

已启用 = 是

IP地址

国际应用软件 TCP 端口 = 1433

重新启动 MS SQL SERVER

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

现在,您可以将模型迁移到 MS 服务器

拉维尔 .环境

DB_CONNECTION=sqlsrv

DB_HOST=本地主机或 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>";
}

最新更新