【发布时间】:2018-03-10 22:43:25
【问题描述】:
我在 PHP 7.0.24 上的 composer 包照明/数据库和 Carbon 遇到问题。
有时php会产生以下异常
Fatal error: Uncaught Exception: DateTime::__construct(): Failed to parse time string (2018-03-09 16:56:16.-51861) at position 24 (6): Unexpected character in /volume1/web/octopus/vendor/nesbot/carbon/src/Carbon/Carbon.php:413
Stack trace:
#0 /volume1/web/octopus/vendor/nesbot/carbon/src/Carbon/Carbon.php(413): DateTime->__construct('2018-03-09 16:5...', Object(DateTimeZone))
1 /volume1/web/octopus/global_bootstrap.php(48): Carbon\Carbon->__construct()
2 /volume1/web/octopus/app/bootstrap.php(8): require_once('/volume1/web/oc...')
3 /volume1/web/octopus/app/dashboard.php(8): require('/volume1/web/oc...')
4 {main}
thrown in /volume1/web/octopus/vendor/nesbot/carbon/src/Carbon/Carbon.php on line 413
如果我只创建一个不带任何参数的 Carbon 实例
<?php
// ...composer initialization...
$carbon = new \Carbon\Carbon();
var_dump($carbon);
在深入研究 Carbon-class 之后,有一个 if 子句适用于低于 7.1 的 php 版本,它在字符串格式的日期后面添加了微时间,但为什么呢?
对于低于 7.1 的 php 版本是否存在 carbon 漏洞?
【问题讨论】:
-
不是很有帮助,但请参阅github.com/briannesbitt/Carbon/issues/1157
-
如果可能有bug,为什么不在官方bugtracker中报告呢?
标签: php date php-carbon