国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

PHP自動捕捉頁面500錯誤示例

2024-05-04 21:57:14
字體:
供稿:網(wǎng)友

在程序調(diào)試時如果在本地我們出現(xiàn)500錯誤可以直接打開php.ini的錯誤來看到哪里錯了,但在服務(wù)器中我們是不能這樣做的,這樣很容易讓人感覺網(wǎng)站不正規(guī)的同時也可能給其它人看到你網(wǎng)站W(wǎng)EB路徑及相關(guān)安全數(shù)據(jù)了,那要如何處理500錯誤呢,下面我們一看一個方法。

通常程序發(fā)生致命錯誤的時候頁面空白,想獲取錯誤信息也不難!主要是利用兩個函數(shù):error_get_last() 獲取最后一次發(fā)生錯誤信息:結(jié)構(gòu)如下:

  1. Array 
  2.     [type] => 8 
  3.     [message] => Undefined variable: http://m.survivalescaperooms.com 
  4.     [file] => C:WWWindex.php 
  5.     [line] => 2 

register_shutdown_function()在腳本停止執(zhí)行時注冊一個回調(diào)函數(shù),有了這兩個函數(shù)就可以監(jiān)控致命錯誤了,代碼如下:

  1. error_reporting(E_ALL); //E_ALL 
  2.  
  3. function cache_shutdown_error() { 
  4.  
  5.     $_error = error_get_last(); 
  6.  
  7.     if ($_error && in_array($_error['type'], array(1, 4, 16, 64, 256, 4096, E_ALL))) { 
  8.  
  9.         echo '<font color=red>你的代碼出錯了:</font></br>'
  10.         echo '致命錯誤:' . $_error['message'] . '</br>'
  11.         echo '文件:' . $_error['file'] . '</br>'
  12.         echo '在第' . $_error['line'] . '行</br>'
  13.     } 
  14. register_shutdown_function("cache_shutdown_error"); 

順序附本地服務(wù)器測試方法,下面來說說顯示PHP錯誤提示消息的三個方法。

一:php.ini配置

php.ini配置中與此相關(guān)的有兩個配置變量,下面是這兩個變量及其默認(rèn)值,代碼如下:

display_errors = Off

error_reporting = E_ALL & ~E_NOTICE

display_errors 變量的目的很明顯 -- 它告訴PHP是否顯示錯誤,默認(rèn)值是 Off,現(xiàn)在我們的目的是顯示錯誤提示,那么:display_errors = On

E_ALL,這個設(shè)置會顯示從不良編碼實踐到無害提示到出錯的所有信息,E_ALL 對于開發(fā)過程來說有點太細(xì),因為它連變量未初始化也顯示提示,而這一點正是PHP“高級”的一個特征,幸好,error_reporting的默認(rèn)值是“E_ALL & ~E_NOTICE”,這樣就只看到錯誤和不良編碼了,對程序無不利的提示則不會顯示。

修改php.ini后需要重新啟動Apache,這樣才可以在apache中生效,當(dāng)然你如果只在命令行下測試程序,是不需要這一步的。

配置php程序中,代碼如下:

  1. <?php 
  2. //禁用錯誤報告 
  3. error_reporting(0); 
  4. //報告運行時錯誤 
  5. error_reporting(E_ERROR | E_WARNING | E_PARSE); 
  6. //報告所有錯誤 
  7. error_reporting(E_ALL);  
  8. ?> 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 通州市| 徐州市| 剑阁县| 泗洪县| 建德市| 来凤县| 望城县| 得荣县| 博客| 个旧市| 康平县| 随州市| 榆中县| 娱乐| 黎城县| 玉田县| 绥芬河市| 平舆县| 轮台县| 静安区| 图们市| 延津县| 江西省| 石楼县| 砀山县| 仙桃市| 南乐县| 蒙城县| 苍山县| 迁安市| 辽阳县| 长宁区| 苏州市| 沂水县| 兴山县| 石棉县| 西丰县| 东明县| 正定县| 海盐县| 平潭县|