目錄
回覆內容:
首頁 後端開發 php教程 500 - php 500 無輸出 不報錯 請問如何快速定位錯誤代碼

500 - php 500 無輸出 不報錯 請問如何快速定位錯誤代碼

Aug 04, 2016 am 09:20 AM
500 php


php 500 無輸出 不報錯 請問如何快速定位錯誤代碼。
無輸出,無報錯,日誌正常。

我在重新表述下吧(一道中高級面試題):

線上程式碼,無輸出,無報錯,日誌正常,LNMP SERVER 500錯誤請問如何快速定位錯誤碼。

回覆內容:


php 500 無輸出 不報錯 請問如何快速定位錯誤代碼。
無輸出,無報錯,日誌正常。

我在重新表述下吧(一道中高級面試題):

線上程式碼,無輸出,無報錯,日誌正常,LNMP SERVER 500錯誤請問如何快速定位錯誤碼。

萬能碼:

<code>register_shutdown_function(function(){ var_dump(error_get_last()); });</code>
登入後複製

不過樓主還是要學會查看錯誤日誌。

原來是個面試題。 。 。 。

  1. 是否有日誌;

  2. 錯誤發生的現象:指定人發生還是所有請求都會,是以前就會還是第一次出現,伺服器尤其是資料庫伺服器負載程度,錯誤是否可以重現;

  3. 最近是否發布程式碼,是否改動了線上的基礎設施;

  4. 以前是否有類似事件發生;

  5. 500 是伺服器內部錯誤,可以關注下php-fpm是否沒有回應,php-fpm進程是否正常。其次看一下相關程式碼:是否依賴外部請求,是否有檔案名稱大小寫拼字錯誤問題,是否有效能低下的資料庫查詢,是否有邏輯處理不當的地方;

最後,修復問題後,完善日誌訊息,不要告訴我沒有日誌,這事必須有日誌。還有檢查測試過程是否完整是否需要完善,避免下次又團團轉。

安裝xdebug擴展,然後看你的錯誤日誌。
可以精確定位到出錯的地方,以及引用等訊息,強烈推薦。

根據我的經驗,Windows用一些整合化環境的話,像是記憶體溢位等錯誤,錯誤日誌是不會顯示錯誤訊息的。 (像Chrome瀏覽器會直接告訴你HTTP 500,而不是錯誤訊息或白螢幕)

查看伺服器錯誤日誌

開發的話 修改服務的配置,直接顯示錯誤啊

ini_set('display_errors','On');

看php錯誤日誌,立刻定位問題

<code>strace -p pid 
</code>
登入後複製

strace常用來追蹤進程執行時的系統呼叫和所接收的訊號。 在Linux世界,進程不能直接存取硬體設備,當進程需要存取硬體設備(例如讀取磁碟文件,接收網路資料等等)時,必須由用戶態模式切換至內核態模式,通 過系統呼叫存取硬體設備。 strace可以追蹤到一個行程產生的系統呼叫,包含參數,傳回值,執行消耗的時間。

<code>pstack
</code>
登入後複製

指令可顯示每個進程的堆疊追蹤。 pstack 指令必須由對應程序的屬主或 root 執行。可以使用 pstack 來決定進程掛起的位置。此命令允許使用的唯一選項是要檢查的進程的 PID。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

CakePHP 日期和時間

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

CakePHP 檔案上傳

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

CakePHP 路由

CakePHP 專案配置 CakePHP 專案配置 Sep 10, 2024 pm 05:25 PM

CakePHP 專案配置

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

討論 CakePHP

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 快速指南

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發

See all articles