PDO dblib 日期格式与 tsql 不同

PDO dblib date format different than tsql

提问人:Adam 提问时间:12/14/2016 最后编辑:Adam 更新时间:2/20/2023 访问量:922

问:

我有一台运行 PHP 的 CentOS 7 机器,安装了 webtatic PHP 5.6 和 php56w-mssql 包。我的应用程序位于连接到 MSSQL 2012 数据库的 Laravel 框架中。

我修改了 locales.conf 文件,使其仅包含

[default]
    date format = %Y-%m-%d %I:%M:%S.000

当从tsql中运行查询时,我会得到格式正确的日期,包括末尾的毫秒零。但是,当在 PHP 交互模式下或通过工匠修补器运行查询时,我得到的日期格式没有尾随毫秒。

我有一台运行完全相同配置的 Ubuntu 机器,tsql、PHP 和工匠修补匠都给我正确格式化的日期,只是这台 CentOS 机器有问题。

我为 tds 版本 7.4 设置了它的全局设置,并具有 host 条目(这是当前在 Laravel 中配置的条目),即freetds.conf

[fancy]
    host = 10.0.0.12
    port = 1433
    database = fancy
    tds version = 7.4
    client charset = UTF-8
php laravel pdo centos freetds

评论

0赞 Gord Thompson 12/14/2016
如果“只是这台 CentOS 机器有问题”,那么也许你可以用“sql-server”标签换取“centos”标签。
0赞 Derek Pollard 12/14/2016
你的Freetds配置与PHP无关,它与sql server的通信方式也无关
1赞 Adam 12/14/2016
告诉 dblib。尝试新的 PDO('dblib:host=fancy;database=fancy', 'user', 'pass');freetds.conf 中的配置错误
0赞 Thomas 4/16/2018
试用 tds 版本 8
0赞 Attila Szeremi 1/15/2019
对你有好处。我有一台 Ubuntu 18.10 机器,即使我使用的是 dblib 驱动程序,locales.conf 文件似乎也被我完全忽略了。

答: 暂无答案