CIの_autoload.php
_に$autoload['libraries'] = array('database');
という行がありました。このため、空白のページが表示されていました。 _'database'
_、オプションを削除すると、出力を取得し始めました。
ここで私の質問は、データベースの構成方法ではなく、CIを構成してその考え方を説明する方法です。 _'database'
_を有効にすると、完全な空白ページだけが表示されました。 PHPログにエラー、Apacheログにエラー、CIログにエラーはありません。 PHPで_E_ALL
_を設定しました。CI構成で_log_threshold
_を_4
_に設定しました。つまり、すべてのメッセージをログに記録する必要があります。する必要があります?
CIのバージョンによって異なります。 <2.xの場合、最上位のindex.phpを編集し、E_ALLを使用するようにerror_reporting関数を調整します "
error_reporting(E_ALL);
> = 2.xの場合、最上位のindex.phpを編集し、ENVIRONMENTが次のように設定されていることを確認します。
define('ENVIRONMENT', 'development');
これは、error_reportingをE_ALLに設定します。
次の内容で.htaccessファイルをウェブルートに作成します
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value error_reporting -1
php_value log_errors_max_len 0
うまくいけば、ログが有効になるはずです。
必ず本番サーバーで値をoffに設定し、レポートをに設定してください:)
以下の環境設定では、エラーが発生したときにPHPを強制的に表示します。
エラー報告
if(defined( 'ENVIRONMENT')){switch(ENVIRONMENT){case 'development'://すべてのエラーを報告しますerror_reporting(E_ALL);
// Display errors in output
ini_set('display_errors', 1);
break;
case 'testing':
case 'production':
// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);
// Don't display errors (they can still be logged)
ini_set('display_errors', 0);
break;
default:
exit('The application environment is not set correctly.');
}
}
本当の理由はわかりませんが、PHPを残したphp.iniファイルを使用してインストールしました。後で、独自のPHPを使用してWAMPスタック全体をインストールしました。残したものを削除したとき以前のインストールのphp.iniファイルは、正常に機能し始めました。PHPバイナリは、まったく異なるディレクトリにある残りのphp.iniを使用していたようです;おそらく、そのディレクトリが環境PATHにあったためです。