簡體   English   中英

在eclipse中使用XDebug遠程調試時,PHP源文件是否需要在本地和遠程存在?

[英]Do PHP source files need to exist locally AND remotely when using XDebug remote debugging in eclipse?

我對使用Eclipse的XDebug遠程調試感到困惑。

我使用Windows(使用eclipse和所有爵士樂)來進行開發,但我想在與生產環境相同的環境中測試我的代碼。

我一直在修補XDebug遠程調試以支持這一點。 我已在遠程計算機上正確配置了XDebug,並確保端口已打開。 但令我感到困惑的是 - 我的機器上的源文件是否也需要存在於運行PHP和XDebug的遠程服務器上? 現在我在我的本地開發機器上沒有任何PHP可執行文件,因此沒有可能在其上運行腳本。

謝謝

是的,服務器和客戶端上需要存在相同的文件集。

服務器上的文件是在調試會話期間實際運行的文件。

客戶端上的文件是Eclipse在調試器在斷點處停止時將向您顯示的內容。 服務器將告訴Eclipse它在文件Y的第X行停止,Eclipse將從本地文件集向您顯示文件Y的第X行。 因此,如果本地文件與遠程文件不同,您將調試錯誤的東西,它將是混亂的。

請注意,如果您無法在客戶端上運行PHP,則無關緊要。 客戶端文件未執行,只顯示在調試會話中。

如果對本地文件進行任何編輯,則需要將它們與服務器重新同步。 有幾種方法可以做到這一點,例如,一些內置於Eclipse中的RSE插件。 我更喜歡使用Unison或版本控制提交回服務器。

XDebug可以以多種不同的方式使用,但是,通常在本地和遠程都有源文件。 我沒有使用Eclipse,但通常在此配置中,當您“運行”項目時,IDE將執行文件上載,以確保服務器具有您在本地編輯的代碼。

我更喜歡這樣的設置,其中文件僅存在於服務器上,但是本地安裝(通過SFTP或SMB)。 每次以這種方式運行項目時都不需要上傳文件,但是還有一些額外的工作設置路徑映射,以便當服務器上的XDebug報告“/ var / www / foo的第10行”時,您的本地IDE了解這意味着“〜/ MyProject / foo的第10行”。

如果不知道如何設置Eclipse項目和服務器,我就不能更具體了。

此外,您可能需要查看NetBeans(免費)或PHPStorm(不是免費的,但更好)用於PHP開發。 我從同事那里聽說Eclipse可以使用XDebug(他們使用的是Windows)。 我在使用NetBeans或PHPStorm的Linux上從未遇到過同樣的問題,盡管我在運行NetBeans的Mac上有類似的瑕疵。

暫無
暫無

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

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