7

現在、Codeigniterルートindex.phpenvironment変数をに設定していますdevelopment

また、tinyURLモードも有効にしていません。

/var/log/apache2/error.log毎晩チェックするのは好きじゃない!

PHPエラーをページに戻したい。500内部エラーは、実際にはエラーを表示するために使用できる* HARD *estメソッドです。

デフォルトの設定でUbuntu12.04LTSサーバーで作業していることに注意してください。

4

2 に答える 2

14

コメントで述べたように、これがCodeIgniterの問題であるかどうかは疑わしいです。display_errorsでオフに設定した可能性が高くなりますphp.ini

私の記憶が正しければ、CIには、とにかくデフォルトの動作を変更するindex.phpための呼び出しが含まれているini_set('error_reporting', ..);ので、いつでも最初にそこを調べて、何が起こっているかを確認できます。

ちょっと見てください、これがデフォルトです:

/*
|---------------------------------------------------------------
| PHP ERROR REPORTING LEVEL
|---------------------------------------------------------------
|
| By default CI runs with error reporting set to ALL.  For security
| reasons you are encouraged to change this when your site goes live.
| For more info visit:  http://www.php.net/error_reporting
|
*/
    error_reporting(E_ALL);

その下に追加するだけでini_set('display_errors', 1);、問題なく動作し始めるはずです。明らかに、最善の策は、これらの変数を設定するための環境のスイッチを追加することです。なぜそれがまだそうでないのかはわかりませんが、次に例を示します。

if (defined('ENVIRONMENT'))
{
    switch (ENVIRONMENT)
    {
        case 'development':
            error_reporting(E_ALL);
            ini_set('display_errors', 1);
            break;
        case 'production':
            error_reporting(0);
            ini_set('display_errors', 0);
            break;
    }
}
于 2013-01-05T14:21:15.507 に答える
0

私は同じ問題を抱えていましたが、codeigniterから得たのは500の内部エラーだけでした(私の古いプロジェクトとクリーンインストールは同じことをしました)しかし、興味深い部分は、ほとんどがphpを含む私の非CIプロジェクトがまだ機能していることです。

エラーを書き出すためのヒント

ini_set('display_errors', 'On' / ,1)

何らかの理由で問題を解決しました。codeigniterコアファイルを読み取る権限がありませんでした。

ファイルに「+r」を追加すると、問題が修正されました。

RudiVisserCarlosIPe解決

をありがとうございます。

于 2013-04-22T15:14:25.180 に答える