![](/img/trans.png)
[英]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.