[英]Error 503 Service Unavailable - PHP error with Yii 2 on OpenShift
[英]Linux error for array in php: 503 Service Unavailable
這行代碼在Linux上導致錯誤。
$p_event_a = strtotime($p_events['date_time'][$evn]);
如果我注釋掉for循環,錯誤將消失。 為什么數組會導致503錯誤?
$p_events = array();
// Retrieve Public Events
for ( $ev = 0 ; $ev < $nev ; $ev++ ) {
$p_event_r = strtotime($ev_order[$ev]);
for ( $evn = 0 ; $evn < $nev ; $evn++ ) {
$p_event_a = strtotime($p_events['date_time'][$evn]);
if ( $p_event_a == $p_event_r ) {
$evnt_date = date('Y-m-d H:i', $p_event_a);
if ( $evnt_date <= $endd && $evnt_date >= $stad ) {
$public_event = '<span> <a>'.$p_events['title'][$evn].'</a> </span>';
$event['tit'] = $public_event;
$event['cat'] = $aevent[0];
$event['cnm'] = $aevent[1];
$event['seq'] = $aevent[2];
$event['col'] = $aevent[5];
$event['bco'] = $aevent[6];
$event['inf'] = '';
$evtList[$evnt_date][] = $event;
}
break;
}
}
}
大家要注意,這是一個完全荒謬的猜測。
首先,您需要啟用錯誤報告以在屏幕上“查看”錯誤:
ini_set('display_errors',1);
error_reporting(-1);
否則,您需要檢查錯誤日志以查看發生了什么。
我猜? 您遇到“索引越界”錯誤,因為您正在嘗試訪問不存在的數組索引。 (計算$p_events['date_time'][$evn]
的元素,看看它們是否是您認為應該的數字)
$nev
來自哪里? 是來自count()
調用嗎?
如果您的for
循環等效於:
for ( $evn = 0 ; $evn < count($whatever) ; $evn++ ) {
注意count()
返回元素的數量,但是在循環中,您從0開始計數,因此您將循環一個額外的結果。 (例如,如果count = 5,則您有:0 1 2 3 4 5,這是6個元素)。
這會解決嗎?
for ( $evn = 0 ; $evn < ($nev-1) ; $evn++ ) {
(括號在$ nev-1中不是必需的,但這是為了清楚起見)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.