php程序訪問報(bào)500錯(cuò)誤怎么辦

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

衢州網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站自2013年創(chuàng)立以來到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。

PHP程序語法錯(cuò)誤導(dǎo)致

場景一:我們項(xiàng)目設(shè)置有報(bào)警監(jiān)控(定時(shí)每隔10分鐘訪問一下網(wǎng)站的一個(gè)固定鏈接),曾經(jīng)有段時(shí)間,每天都會(huì)收到兩三次報(bào)500錯(cuò)誤的郵件,但當(dāng)自己再手動(dòng)訪問時(shí)卻訪問正?!?/em>

這應(yīng)該是最常見的錯(cuò)誤了,語法錯(cuò)誤也能很快復(fù)現(xiàn),只要把報(bào)錯(cuò)信息暴露出來即可根據(jù)問題立馬解決。
如果是在本地或測試環(huán)境,通常我們是這么處理的,在程序入口中設(shè)置輸出報(bào)錯(cuò)信息即可:

//error_reporting設(shè)置應(yīng)該報(bào)告的錯(cuò)誤,下面表示除了 E_NOTICE,報(bào)告其他所有錯(cuò)誤
error_reporting(E_ALL ^ E_NOTICE);
//輸出錯(cuò)誤
ini_set('display_errors', 1);

但在線上環(huán)境的話,因?yàn)橛脩舳荚谟?,不可能允許我們就那么赤裸裸的打印錯(cuò)誤,怎么辦呢?可以在程序入口文件中設(shè)置將錯(cuò)誤輸出到日志文件中,具體代碼如下:

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

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

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

//程序正常執(zhí)行邏輯......

剛才說的場景一問題,后來我們按照上面輸出到log的方式輸出才發(fā)現(xiàn)的,是因?yàn)镸ySQL連接異常斷開而程序繼續(xù)執(zhí)行(連接mysql時(shí)正常,但當(dāng)調(diào)用具體查詢方法時(shí)報(bào)錯(cuò),記得好像是在使用方法mysqli_real_escape_string()的地方)導(dǎo)致的fatal級(jí)報(bào)錯(cuò),最終才順利修復(fù)了。

磁盤滿了導(dǎo)致

場景二:有一次,一個(gè)同事說圖片上傳不上去了,一直報(bào)錯(cuò)500,之前還好好的,但沒找出是什么問題,因?yàn)槟菈K當(dāng)時(shí)是我負(fù)責(zé)開發(fā)的,所以就過來找我,各種檢查都沒發(fā)現(xiàn)是什么問題,其它頁面訪問正常,本頁面把代碼全刪除了再上傳還是報(bào)錯(cuò),找了很久最終才發(fā)現(xiàn)是磁盤滿了o(╥﹏╥)o…

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

以上是“php程序訪問報(bào)500錯(cuò)誤怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前題目:php程序訪問報(bào)500錯(cuò)誤怎么辦
文章網(wǎng)址:http://muchs.cn/article46/ihpohg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)全網(wǎng)營銷推廣、網(wǎng)站維護(hù)、面包屑導(dǎo)航、外貿(mào)建站、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)