中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何捕獲php致命錯誤

發布時間:2020-07-23 10:41:23 來源:億速云 閱讀:242 作者:Leah 欄目:編程語言

如何捕獲php致命錯誤?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

php獲取致命錯誤的方法:首先開啟“ob_start”,并建立一個“tmp.php”文件;然后在“short.php”文件中寫一些錯誤代碼;最后訪問“tmp.php”文件即可。

php捕獲致命錯誤

記錄php錯誤日志可以有力的幫我們查找問題、修復bug,php提供了set_error_handler、set_exception_handler來捕獲錯誤和異常。但是set_error_handler并不能捕獲E_ERROR、 E_PARSE、 E_CORE_ERROR、E_CORE_WARNING、E_COMPILE_ERROR、E_COMPILE_WARNING、E_STRICT等錯誤。一般來講,如果是致命錯誤,會導致php解釋器都無法編譯通過,自然不能捕獲這些錯誤,但是,我們可以通過一些方法來巧妙的得到這些錯誤信息。

首先先建立一個tmp.php

<?php
//error_reporting(0);
ob_start();
set_error_handler('errorHandler');
register_shutdown_function( 'close' );
function 大專欄  php捕獲致命錯誤class="hljs-title">close(){
ob_end_clean();
$error = error_get_last();
echo '<pre>';
print_r($error);
}
require 'short.php';

然后在short.php中寫入一些錯誤代碼,如

echo $a//故意不加分號

然后訪問tmp.php,就會發現,頁面沒有顯示php自身的錯誤提示,而是執行了close方法。以上代碼關鍵幾點。

第一、開啟ob_start

第二:使用register_shutdown_function注冊函數

第三:使用error_get_last函數獲取錯誤信息

第四:php解析的第一個文件不能出現致命錯誤,否則無法捕獲。所以也推薦大家搭建自己的框架或者選擇框架時,最好使用單一入口方式

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇礼县| 齐河县| 罗田县| 裕民县| 阳西县| 清镇市| 吉安县| 丽水市| 新民市| 磴口县| 新乐市| 阳西县| 抚州市| 通化市| 柳江县| 高雄县| 余姚市| 水城县| 乌鲁木齐县| 安达市| 荆州市| 通河县| 永济市| 石屏县| 抚松县| 漳平市| 荆门市| 永修县| 新乡县| 达日县| 黄冈市| 巫山县| 曲麻莱县| 乌海市| 左云县| 鹿邑县| 崇仁县| 中江县| 海城市| 普定县| 阿坝县|