91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

php程序訪問報500錯誤怎么辦

發布時間:2021-06-28 11:36:07 來源:億速云 閱讀:182 作者:小新 欄目:編程語言

小編給大家分享一下php程序訪問報500錯誤怎么辦,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

PHP程序語法錯誤導致

場景一:我們項目設置有報警監控(定時每隔10分鐘訪問一下網站的一個固定鏈接),曾經有段時間,每天都會收到兩三次報500錯誤的郵件,但當自己再手動訪問時卻訪問正常…

這應該是最常見的錯誤了,語法錯誤也能很快復現,只要把報錯信息暴露出來即可根據問題立馬解決。
如果是在本地或測試環境,通常我們是這么處理的,在程序入口中設置輸出報錯信息即可:

//error_reporting設置應該報告的錯誤,下面表示除了 E_NOTICE,報告其他所有錯誤
error_reporting(E_ALL ^ E_NOTICE);
//輸出錯誤
ini_set('display_errors', 1);

但在線上環境的話,因為用戶都在用,不可能允許我們就那么赤裸裸的打印錯誤,怎么辦呢?可以在程序入口文件中設置將錯誤輸出到日志文件中,具體代碼如下:

error_reporting(E_ALL ^ E_NOTICE);
//禁止把錯誤輸出到頁面
ini_set('display_errors', 0);
//設置錯誤信息輸出到文件
ini_set('log_errors', 1);

//指定錯誤日志文件名
$error_dir = '/logs/err/';
$error_file = $error_dir . date('Ymd').'.log';
//目錄不存在就創建
if (!is_dir($error_dir)){
    mkdir($error_dir, 0777, true);
}
//文件不存在就創建之
if(!file_exists($error_file)){
    $fp = fopen($error_file, 'w+');
    if($fp){
        fclose($fp);
    }
}

//設置錯誤輸出文件
ini_set("error_log", $error_file);

//程序正常執行邏輯......

剛才說的場景一問題,后來我們按照上面輸出到log的方式輸出才發現的,是因為mysql連接異常斷開而程序繼續執行(連接mysql時正常,但當調用具體查詢方法時報錯,記得好像是在使用方法mysqli_real_escape_string()的地方)導致的fatal級報錯,最終才順利修復了。

磁盤滿了導致

場景二:有一次,一個同事說圖片上傳不上去了,一直報錯500,之前還好好的,但沒找出是什么問題,因為那塊當時是我負責開發的,所以就過來找我,各種檢查都沒發現是什么問題,其它頁面訪問正常,本頁面把代碼全刪除了再上傳還是報錯,找了很久最終才發現是磁盤滿了o(╥﹏╥)o…

因磁盤空間不足,沒有足夠空間讀寫數據而導致的500報錯極不常見,且不易及時發現。通常遇到500問題,很快想到的是程序錯誤,其實還有可能是磁盤空間不足了,如果在程序上為找到任何問題,可以查看下是否是磁盤空間不足問題哦~
df -h 查看磁盤空間占用情況
php程序訪問報500錯誤怎么辦

以上是“php程序訪問報500錯誤怎么辦”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

php
AI

微山县| 蓝山县| 垫江县| 沿河| 三江| 乳源| 澄江县| 安乡县| 定远县| 通榆县| 白城市| 娄烦县| 永川市| 榆树市| 松潘县| 大宁县| 滁州市| 渝中区| 绥滨县| 永定县| 博白县| 攀枝花市| 大石桥市| 新泰市| 嵊泗县| 明溪县| 上杭县| 泰顺县| 甘南县| 本溪| 岳池县| 斗六市| 定西市| 洱源县| 榆林市| 湄潭县| 临颍县| 嘉定区| 高台县| 当阳市| 左权县|