我最近将一个生产 Yii2 应用程序移至新的虚拟机。旧的 VPS 是 GoDaddy 上的 CentOS,新的 VPS 是在内部 ESXi 主机上运行的 Ubuntu 22.04 VM。 VPS 上的 Yii 版本是 2.0.23,VM 上的 Yii 版本是 2.0.47。
到目前为止唯一的问题是 FullCalendar 扩展:philippfrenzel/yii2fullcalendar。两个虚拟机都使用相同的版本 3.9.0,但新虚拟机无法正确呈现日历小部件。
这是一个非常简单的设置。查看代码:
<?= \yii2fullcalendar\yii2fullcalendar::widget([
'events' => $events,
'id' => 'home-calendar',
'clientOptions' => [
'eventClick' => new JsExpression($js_event_click),
],
]);
?>
控制器动作:
$homeEvents = HomeEvent::find()->all();
$events = [];
foreach ($homeEvents as $homeEvent) {
$event = new Event([
'id' => $homeEvent->id,
'title' => $homeEvent->title,
'allDay' => ($homeEvent->all_day == "T"),
'start' => $homeEvent->start_dt,
'end' => $homeEvent->end_dt,
'editable' => true,
'className' => ($homeEvent->all_day == 'T') ? 'fc-event-allday' : null,
]);
$events[] = $event;
}
...
return $this->render('homepage', [
'events' => $events,
...
]);
还有另外 2 台主机,该小部件在 Ubuntu 14.04 VM 和我的 MacOS Ventura 测试计算机上按预期运行。所有 4 台主机上的 PHP 版本均为 5.6。
有什么想法吗?