【问题标题】:PHP causing server error 500PHP导致服务器错误500
【发布时间】:2016-04-18 09:14:55
【问题描述】:

有没有人知道这段 php 代码会导致带有 nginx 的 apache2 网络服务器抛出服务器错误 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 在页面加载时抛出,因此该函数实际上从未被调用。

有什么想法吗?

【问题讨论】:

    标签: php nginx apache2


    【解决方案1】:

    $cols['$selectCol']; 将查找密钥$selectCol,而不是01。如果您没有将其设为文字,它将寻找01,即删除单引号。

    另外,static $cols = ['transparent;', '#efefef;'] 不是在 PHP 中创建数组的正确语法。

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

    【讨论】:

    • 谢谢,在服务器上抛出 500 是阵列问题。现在可以正常工作。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-10
    • 1970-01-01
    • 1970-01-01
    • 2017-09-29
    • 2023-03-22
    • 2015-11-23
    相关资源
    最近更新 更多