回答:
CodeIgniterには、いくつかのエラーログ機能が組み込まれています。
$config['log_threshold'] = 1;
log_message('error', 'Some variable did not contain a value.');
log_exceptions()
。これを自分で行うか、これを使用できます。コアの拡張に関する詳細はこちらhttp://www.codeigniter.com/user_guide/general/errors.htmlを参照してください
サーバーのエラーログに行を追加するには、PHPのerror_log()関数を使用します。ただし、その方法では電子メールは送信されません。
まず、エラーをトリガーするには:
trigger_error("Error message here", E_USER_ERROR);
デフォルトでは、これはサーバーのエラーログファイルに記録されます。Apache のErrorLogディレクティブを参照してください。独自のログファイルを設定するには:
ini_set('error_log', 'path/to/log/file');
選択するログファイルはすでに存在し、サーバープロセスによって書き込み可能である必要があります。ファイルを書き込み可能にする最も簡単な方法は、サーバーユーザーをファイルの所有者にすることです。(サーバーのユーザーは、OSディストリビューションによっては、nobody、_www、apache、またはその他のユーザーになる場合があります。)
エラーを電子メールで送信するには、カスタムエラーハンドラーを設定する必要があります。
function mail_error($errno, $errstr, $errfile, $errline) {
$message = "[Error $errno] $errstr - Error on line $errline in file $errfile";
error_log($message); // writes the error to the log file
mail('you@yourdomain.com', 'I have an error', $message);
}
set_error_handler('mail_error', E_ALL^E_NOTICE);
詳細については、関連するPHPドキュメントを参照してください。
質問パート4に関する詳細oそのエラーをメールアドレスにどのようにメールで送信しますか?error_log関数にもメールの宛先があります。 http://php.net/manual/en/function.error-log.php
アガ、ここで私は使用法を示す例を見つけました。 error_log()を使用して電子メールでエラーメッセージを送信する
error_log($this->_errorMsg, 1, ADMIN_MAIL, "Content-Type: text/html; charset=utf8\r\nFrom: ".MAIL_ERR_FROM."\r\nTo: ".ADMIN_MAIL);
In config.php add or edit the following lines to this:
------------------------------------------------------
$config['log_threshold'] = 4; // (1/2/3)
$config['log_path'] = '/home/path/to/application/logs/';
Run this command in the terminal:
----------------------------------
sudo chmod -R 777 /home/path/to/application/logs/