我的Ubuntu流浪者Laravel宅基地设置已配置为连接到MSSQL。随机地,它开始对每个转到MSSQL数据库(在Windows服务器上)的查询抛出以下错误。
有什么想法吗?我在谷歌上找不到太多关于这个的信息。
我重新启动了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)
4条答案
按热度按时间wydwbb8l1#
不支持Check this issue report
PDO::ATTR_PERSISTENT
。他们也报告了PDO::ATTR_ERRMODE
的问题,所以检查你的连接是否有这两个参数。3j86kqsm2#
删除Laravel框架的vendor/laravel/framework/src/Illuminate/Database/Connectors/SqlServerConnector.php文件中的“PDO::ATTR_STRINGIFY_FETCHES”行解决了这个问题。
这是由于在PDO连接设置中指定了无效属性造成的。此属性允许PDO对象自动将数据类型转换为字符串。但是,此属性不应用于MSSQL数据库。
要解决这个问题,只需删除这一行。然后,重新启动Laravel项目,你应该会看到问题已经解决了。
u1ehiz5o3#
如果有人有这个问题,这就是我的问题。
PHP版本8.1.23 pdo_sqlsrv版本5.10Beta
解决方案,工作形式我是我下载了最新的PDO驱动程序的时间张贴是5. 11. 1 +17301。从here下载
daolsyd04#
对于运行PHP 8.1.23的macOS用户,也推荐使用最新的PDO驱动程序。对于我来说5.11.1+17301修复此问题https://github.com/microsoft/msphpsql/releases/download/v5.11.1/Mac-8.1.tar