我在 php7.4 中有以下代码,用于从另一个创建日期
$date = clone $regularCourse->getNextCronExecutionDate();
$date->modify('+ 3 days');
$date->setTime($date->format('H'), $date->format('i'), 0, 0);
我已经在本地和生产中对其进行了测试,并且它曾经工作得很好。突然间它开始失败。与错误
DateTime::setTime() expects parameter 1 to be int, string given
它会定期且可预测地失败,因为我的哨兵给了我 4000 次该事件的发生次数(这是一个每分钟运行一次的 cron 任务,哨兵向我显示过去几天该错误每小时发生 60 次)
但 !
现在我已经添加了一些调试来显示该值,它不再失败我使用的代码
// Added to debug some courses failing
ob_start();
var_dump($date);
$dumped_message= ob_get_clean();
\Sentry\addBreadcrumb(
new \Sentry\Breadcrumb(
\Sentry\Breadcrumb::LEVEL_INFO,
\Sentry\Breadcrumb::TYPE_DEFAULT,
'error_reporting',
"course Id " . $regularCourse->getId()
)
);
\Sentry\addBreadcrumb(
new \Sentry\Breadcrumb(
\Sentry\Breadcrumb::LEVEL_INFO,
\Sentry\Breadcrumb::TYPE_DEFAULT,
'error_reporting',
$dumped_message
)
);
我不知道 var_dump-ing 变量是否会产生一些副作用?
所以我的问题
这个错误什么时候发生?
为什么我的调试代码使问题消失?
阿晨1998