Laravel:在 PDO 对象上指定了不受支持的属性。 Ubuntu 上的 MSSQL

问题描述 投票:0回答:2

我的 Ubuntu vagrant Laravel Homestead 设置已配置为连接到 MSSQL。随机地,它开始在进入 MSSQL 数据库(在 Windows 服务器上)的每个查询上抛出以下错误。

有什么想法吗?我在 Google 上找不到太多关于 re:this 的信息。

我重新启动了 PHP 并确认 SQLSRV 模块已加载。

SQLSTATE[IMSSP]: An unsupported attribute was designated on the PDO object. (SQL: select top 10 * from [orders] where [ordertype] = SO order by [orderdate] desc)
php sql-server laravel pdo sqlsrv
2个回答
3
投票

检查此问题报告

PDO::ATTR_PERSISTENT
不支持。他们还报告了
PDO::ATTR_ERRMODE
的问题,因此请检查这两个参数的连接。


0
投票

删除Laravel框架的vendor/laravel/framework/src/Illuminate/Database/Connectors/SqlServerConnector.php文件中的“PDO::ATTR_STRINGIFY_FETCHES”行解决了问题。

这是由于在 PDO 连接设置中指定了无效属性造成的。该属性允许 PDO 对象自动将数据类型转换为字符串。但是,此属性不应与 MSSQL 数据库一起使用。

要解决该问题,只需删除此行即可。然后,重新启动您的 Laravel 项目,您应该会看到问题已解决。

© www.soinside.com 2019 - 2024. All rights reserved.