コメントで述べたように、これが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;
}
}