W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
CodeIgniter 可以通過下面介紹的方法來在你的應(yīng)用程序中生成錯誤報告。 另外,還有一個錯誤日志類用來將錯誤或調(diào)試信息保存到文本文件中。
注解
CodeIgniter 默認將顯示所有的 PHP 錯誤,你可能在開發(fā)結(jié)束之后 改變該行為。在你的 index.php 文件的頂部有一個 error_reporting() 函數(shù),通過它可以修改錯誤設(shè)置。當(dāng)發(fā)生錯誤時,禁用錯誤報告 并不會阻止向日志文件寫入錯誤信息。
和 CodeIgniter 中的大多數(shù)系統(tǒng)不同,錯誤函數(shù)是一個可以在整個應(yīng)用程序中 使用的簡單接口,這讓你在使用該函數(shù)時不用擔(dān)心類或方法的作用域的問題。
當(dāng)任何一處核心代碼調(diào)用 exit() 時,CodeIgniter 會返回一個狀態(tài)碼。 這個狀態(tài)碼和 HTTP 狀態(tài)碼不同,是用來通知其他程序 PHP 腳本是否成功運行的, 如果運行不成功,又是什么原因?qū)е铝四_本退出。狀態(tài)碼的值被定義在 application/config/constants.php 文件中。狀態(tài)碼在 CLI 形式下非常有用, 可以幫助你的服務(wù)器跟蹤并監(jiān)控你的腳本。
下面的函數(shù)用于生成錯誤信息:
show_error($message, $status_code, $heading = 'An Error Was Encountered')
參數(shù):
返回類型:
void
該函數(shù)使用下面的錯誤模板來顯示錯誤信息:
application/views/errors/html/error_general.php
或:
application/views/errors/cli/error_general.php
可選參數(shù) $status_code 將決定發(fā)送什么 HTTP 狀態(tài)碼。 如果 $status_code 小于 100,HTTP 狀態(tài)碼將被置為 500 , 退出狀態(tài)碼將被置為$status_code + EXIT__AUTO_MIN 。 如果它的值大于 EXIT__AUTO_MAX 或者如果 $status_code 大于等于 100 ,退出狀態(tài)碼將被置為 EXIT_ERROR。 詳情可查看 application/config/constants.php 文件。
show_404($page = '', $log_error = TRUE)
參數(shù):
返回類型:
void
該函數(shù)使用下面的錯誤模板來顯示 404 錯誤信息:
application/views/errors/html/error_404.php
或:
application/views/errors/cli/error_404.php
傳遞給該函數(shù)的字符串代表的是找不到的文件路徑。退出狀態(tài)碼 將設(shè)置為 EXIT_UNKNOWN_FILE 。 注意如果找不到控制器 CodeIgniter 將自動顯示 404 錯誤信息。
默認 CodeIgniter 會自動將 show_404() 函數(shù)調(diào)用記錄到錯誤日志中。 將第二個參數(shù)設(shè)置為 FALSE 將跳過記錄日志。
log_message($level, $message, $php_error = FALSE)
參數(shù):
返回類型:
void
該函數(shù)用于向你的日志文件中寫入信息,第一個參數(shù)你必須提供 三個信息級別中的一個,用于指定記錄的是什么類型的信息(調(diào)試, 錯誤和一般信息),第二個參數(shù)為信息本身。
示例:
if ($some_var == '')
{
log_message('error', 'Some variable did not contain a value.');
}
else
{
log_message('debug', 'Some variable was correctly set');
}
log_message('info', 'The purpose of some variable is to provide some value.');
有三種信息類型:
注解
為了保證日志文件被正確寫入,logs/ 目錄必須設(shè)置為可寫的。 此外,你必須要設(shè)置 application/config/config.php 文件中的 "threshold" 參數(shù),舉個例子,譬如你只想記錄錯誤信息,而不想 記錄另外兩種類型的信息,可以通過這個參數(shù)來控制。如果你將 該參數(shù)設(shè)置為 0 ,日志就相當(dāng)于被禁用了。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: