簡體   English   中英

在托管服務器上調試PHP代碼

[英]Debugging PHP code on a hosted server

我有一台托管服務器(rochenhost.com),在其中運行一些PHP代碼。 過去,在我開始從事軟件開發人員工作和自學之前,我先將變量打印出來。

現在經過幾年的學習和開發工作,當我學會了使用調試器后,我很傷心:在托管服務器上運行的PHP代碼是否有良好的調試工具?

您正在直接在生產服務器上使用的“托管代碼”嗎? 還是您有兩個單獨的代碼庫,一個用於開發(調試等),另一個用於生產(顯示給實際用戶)? 如您所知,直接在生產服務器上更改代碼有點瘋狂,幾乎可以保證偶爾會導致您的網站癱瘓或造成安全漏洞。 因此,我最大的建議就是購買本地開發服務器 這很容易,只要為您的計算機下載適當的XAMP堆棧,並在調試文件后使用喜愛的VCS將文件與生產服務器同步即可。

一旦你有一個本地開發服務器,檢查出這個問題的調試器的步驟,通過功能,還列出這一項在不同的平台上可用的IDE的大名單。

如果您將調試代碼停留在遠程服務器上,則可以使用以下兩種其他方法來幫助您。 您可能已經在這樣做了。

1) 打開錯誤輸出。 您可以通過在開頭插入以下幾行來為特定腳本執行此操作:

ini_set("display_errors","1");
error_reporting(E-ALL);

這將在頁面上打印(有時)提示性錯誤消息。 向訪問者公開此信息被認為是主要的安全風險,因此請確保在完成測試后刪除這些行。 如果您有本地開發服務器或外界無法訪問的服務器,則可以通過向php.ini添加行display errors = 1來打開所有頁面的錯誤報告。

2) 找到您服務器的PHP錯誤日志。 它通常包含有關頁面為何死亡的信息,即使您無法為PHP加載足夠的頁面顯示錯誤消息的原因。 您還可以使用命令error_log('your message here')將消息打印到日志中,這在您不只是將信息轉儲到頁面上時很有用。

我將FirePHP擴展用於FireFox,將ChromePhp用於Chrome。 他們將日志消息放入瀏覽器的控制台日志中。 他們為我節省了數小時的調試時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM