0

我的网站出现 500 内部服务器错误。错误日志显示以下错误:“脚本头过早结束:cgi_wrapper”,在我的 Joomla 应用程序中。

它仅在加载一个特定文件时发生。应用程序/网站的其余部分正常工作。错误日志中没有显示其他相关问题 - 没有指示超时或权限错误。

导致错误的文件是模板/布局文件。此外,我已经确定了一段会导致错误的代码,当它被注释掉时,网站加载得很好。这里是:

    if( $question->type == '1' || $question->type == '2' || $question->type == '3' )
    {
        //shuffle items
        $shuffled_items = $this->shuffle_assoc($items);
        $output = '';
        $output .= '<table class="answer-table">';
        $output .= '<tr>';
        $output .= '<td>';
        $output .= '<ul class="answers">';

        foreach($shuffled_items as $item)
        {
            $output .= '<li num=' . $item->num . '>';
            $output .= $item->item;
            $output .= '</li>';
        }

        $output .= '</ul>';
        $output .= '</td>';
        $output .= '</tr>';
        $output .= '</table>';

        $output .= '<table class="answer-table correct-answer" style="display: none">';
        $output .= '<tr>';
        $output .= '<td>';
        $output .= '<p class="question-instructions">Correct Answer:</p>';
        $output .= '<ul class="answers correct-answer">';

        foreach($items as $item)
        {
            $output .= '<li num=' . $item->num . '>';
            $output .= $item->item;
            $output .= '</li>';
        }

        $output .= '</ul>';
        $output .= '</td>';
        $output .= '</table>';

        echo $output;
    }

它使用在 view.html.php 文件中设置的变量 $questions(对于那些了解 Joomla 的人)。似乎是这个变量触发了错误。如果我不分配 $questions 变量,那么模板将加载得很好。

此外,在上面的示例中,它首先测试问题类型($question->type)。如果 $question->type 不是 1、2 或 3,还有其他代码部分会被触发,并且仍然会产生错误。但为了简洁起见,我省略了其他代码,因为它仅在存在相关问题类型。当上面的代码单独运行时,它会导致错误。

所以,我在这里迷路了。让我感到困惑的是,只有这个模板文件和 $questions 变量会导致错误。其他一切正常。它在我的本地服务器上也运行良好。

差点忘了,使用的是 Joomla 1.5.22、PHP 5.3.3、Apache 2.2.3、Cent OS 5.8。该服务器还运行 Parallels Plesk Panel 10。

我希望有人可以指出我的解决方案。

谢谢!

4

1 回答 1

0

检查 /var/log/httpd/suexec_log

和 /var/www/cgi-bin/cgi_wrapper/cgi_wrapper 的权限

它应该是

ls -la /var/www/cgi-bin/cgi_wrapper/cgi_wrapper

-rwxr-xr-x 1 根 5288 2011 年 7 月 14 日 /var/www/cgi-bin/cgi_wrapper/cgi_wrapper

于 2013-01-09T01:59:56.213 回答