2013-01-05 6 views
5

現在、Codeigniterルートindex.phpenvironment変数をdevelopmentに設定しました。私はcodeigniterに500の内部エラーの代わりにphpエラーをエコーするようにしたい

また、小さなURLモードも有効にしていません。

私は毎晩/var/log/apache2/error.logをチェックしたくありません!

私のPHPエラーをページに戻したいですか? 500内部エラーは実際には* HARD * estメソッドを使用してエラーを表示できます。

デフォルト設定のUbuntu 12.04 LTSサーバーで作業しています。

+0

おそらくそれはあなたが '' display_errors'ためphp.ini'をチェックして、CodeIgniterのではないのか? –

答えて

13

コメントに記載されているとおり、これはCodeIgniterの問題だと私は疑いがあります。それはあなたが単にあなたのphp.iniにオフにdisplay_errorsセットを持っている可能性が高いです。

私が正しく覚えていれば、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; 
    } 
} 
+0

素晴らしい答え! – Will

3

はちょうどあなたのインデックスに以下を追加します。 php、開発環境の場合:

case 'development': 
error_reporting(E_ALL); 
ini_set('display_errors', 'On'); 

EDIT:あなたのphp.iniを変更して修正することができます。私はここでそれを修正することを好むので、私はプロジェクトをダウンロードするたびに、私は同じだった

0

(私のラップトップを、私のオフィスのPCまたは私は緊急時に借りたコンピュータは、私は、php.iniの設定を変更する必要はありません)私はCodeIgniterのから得た唯一のものはわずか500内部エラーが発生した問題。(私の古いプロジェクトときれい同じことをやったインストール) しかし、興味深い部分は私の非CIプロジェクトはまだほとんどのphp含まれていることが働いていたということです。

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

でエラーを書き出す

先端が、私はCodeIgniterのコアファイルの読み取り権限を持っていなかったいくつかの理由で私の問題を解決しました。

ファイルに '+ r'を追加すると問題が解決しました。

ルディ・フィッセル
CarlosIPe
私は両方のソリューションをいただき、ありがとうございます。

関連する問題