2016-04-18 3 views
0

Кто-нибудь знает, что это за этот бит php-кода, который заставит веб-сервер apache2 с nginx сбросить ошибку сервера 500?Ошибка PHP, вызывающая сервер 500

function cycleColsDbl() { 
    static $cols = ['transparent;', '#efefef;'], $i = 0; 
    $selectCol = ($i++/2 % 2 == 0) ? 0 : 1; 
    return $cols['$selectCol']; 
} 

Сервер suexec.log выплюнул довольно бессмысленное утверждение:

[2016-04-17 08:34:34]: uid: (10003/usr) gid: (1003/1003) cmd: cgi_wrapper 

И error.log говорит вообще ничего об этом.

500 набрасывается на загрузку страницы, поэтому функция никогда не вызывается.

Идеи любой?

ответ

1

Этот $cols['$selectCol']; будет искать ключ $selectCol, а не 0 или 1. Он будет искать 0 или 1, если вы не сделали это буквальным, то есть удалите одинарные кавычки.

Кроме того, static $cols = ['transparent;', '#efefef;'] неверный синтаксис для создания массива в PHP.

function cycleColsDbl() { 
    static $cols = array('transparent;', '#efefef;'), $i = 0; 
    $selectCol = ($i++/2 % 2 == 0) ? 0 : 1; 
    return $cols[$selectCol]; 
} 
+0

Спасибо, это была проблема с массивом, которая бросала 500 на сервер. Теперь работает правильно. :) – Cassandra

Смежные вопросы