【发布时间】:2019-01-15 22:13:21
【问题描述】:
我在我们维护的旧版应用程序中突然遇到了这个非常奇怪的错误。
未捕获的错误:调用未定义的方法 DateTime::format() in 路径/helpers.php:54
我的相关代码是这样的:
function custom_date_format($str, $format=false){
if(!$format){
$format ="j M Y";
}
$date = DateTime::createFromFormat('d-m-Y', $str);
if($date){
return $date->format($format); // lineno 54
}
return '';
}
服务器正在运行 PHP 7,DateTime::createFromFormat 似乎正在运行,因此 DateTime 对象正在正常运行。
它一夜之间停止工作(我觉得这很奇怪,不确定我是否相信)。
对这种奇怪的错误有什么想法吗?
【问题讨论】:
-
能否提供
var_dump($date)失败时的输出? -
我会尝试找回它。我目前无法直接访问服务器,但希望能找回它。
-
您确定 DateTime 与另一个 DateTime 类没有冲突(即:
\Faker\Provider\DateTime)?是$date instanceof \DateTime -
helpers.php 不包含任何要求或包含。
-
如果你使用
$date = \DateTime::createFromFormat('d-m-Y', $str);会发生什么?