0

Codeigniter 2 に基づいて構築されたプロジェクトに取り組んでいます。Apache httpd を 2.2.21 から 2.2.24 に更新するまで、すべてがうまく機能していました。PHP のバージョンは同じ (5.3.25) です。

ビューの構築には、Phil Sturgeon の Template ライブラリを使用します。

コントローラー関数は次のようになります。

public function index(){
    if($this->_is_logged && $this->_is_super){
        redirect('/start', 'refresh');
    }else{
        $this->template
            ->set_partial('page_header', 'web/template/page_header',$this->data)
            ->set_partial('page_footer', 'web/template/page_footer')
            ->set_partial('page_notifications', 'web/template/notification_view',$this->data)
            ->set_layout('minimum')
            ->build('start/authenticate_view');
    }
}

更新後、これにより500 Internal server error が発生します...ただし、ステートメントのecho前に次のように追加すると:if

public function index(){
    echo $this->_is_logged.' '.$this->_is_super.' -- test --'.$this->data;
    if($this->_is_logged && $this->_is_super){
        redirect('/start', 'refresh');
    }else{
        $this->template
            ->set_partial('page_header', 'web/template/page_header',$this->data)
            ->set_partial('page_footer', 'web/template/page_footer')
            ->set_partial('page_notifications', 'web/template/notification_view',$this->data)
            ->set_layout('minimum')
            ->build('start/authenticate_view');
    }
}

echoページは、ページの上部にあるからの値を使用して、必要に応じてビルドされます。

すでに Apache httpd を 2.2.21 にダウングレードしており、コードを変更することなくすべてが再び機能しました。したがって、Apache のバージョンと何らかの関係があると確信しています。テンプレートライブラリで使用されているコード、またはその他の奇妙なことに関係している可能性があります... ?

私たちはこれで壁に向かって走っています。

同じ問題を抱えていて、何が問題なのかを知っている人はいますか...あなたは永遠に私たちのヒーローになるでしょう:)

追加情報:

  • CI モデルには DataMapper ORM を使用します
  • cPanel バージョン: 11.36.1 (ビルド 6)
  • OS Linux
4

2 に答える 2

2

500 エラーは、設定しない限り、エラー ログにエラーを記録する必要があります。次のようなルートに htacess ファイルを配置してみてください。

php_value log_errors 1
php_value error_log /var/www/.....php-error.log

次に、エラーを複製し、ログに出力される内容を確認します。あなたが言うように、Apacheとの競合に関係しますが、500エラーは一般的すぎて解決できません。

于 2013-06-06T16:42:50.773 に答える
0

問題が見つかりました。プロジェクトの初期段階でメッセージとデータを FirePhp に記録するために使用していた忘れられたライブラリがありました。
このファイルを削除し、ベース コントローラーで彼の関数の 1 つを呼び出すと、内部サーバー エラーが解決されました。

于 2013-06-07T09:41:40.170 に答える