小編給大家分享一下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í)卻訪問正常…
這應(yīng)該是最常見的錯(cuò)誤了,語法錯(cuò)誤也能很快復(fù)現(xiàn),只要把報(bào)錯(cuò)信息暴露出來即可根據(jù)問題立馬解決。
如果是在本地或測(cè)試環(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ù)了。
場景二:有一次,一個(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ò)誤怎么辦”這篇文章的所有內(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://aaarwkj.com/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)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)