我在用joomla做一些小的網站和應用,有的時候為了定製頁面和模組的功能,需要修改一些PHP檔案。當涉及到比較複雜的類的時候,用var_dump很不方便,所以就下定決心想要學習如何調試PHP。由於我不是搭建整個項目,而是在一個已經搭建好在啟動並執行網站上修修補補,所以我想要從自己的電腦上連到虛擬伺服器進行遠端偵錯。關於這遠端偵錯,我看了很多文檔,也作了很多嘗試,仍然是不得要領。
我想確認的是,“遠端偵錯”究竟是不是需要先為遠端網站或應用建立一個本地版本?SO上很多人告訴我必須要有一個本地版本,但是如果這樣的話我總覺得會非常麻煩。因為假如我今天把整個Joomla網站下載下來調試之後作了一些修改之後上傳回去,明天我為這個網站更新了一些擴充、文章和外掛程式,後天我要做一些調試的時候難道又不得不再把整個網站下載一遍?大家知道Joomla網站檔案很多,複製下載一遍都要5-10分鐘左右,如果每次調試都要下載一遍的話,那我還不如就用var_dump算了,雖然原始但也能對付了。
(這裡又牽涉到一個版本控制的問題。我對git不是非常熟,但如果git能讓我很方便地在把調試後的以磁碟為基礎的網站同步到遠程伺服器,那git也是一種可以接受的解決方案。)
接上文,所以,我一直在找有沒有可以讓我從本機直接連接到遠程伺服器上調試的方法。雖然我現在還不是很確定這究竟在技術上是不是可行的,但是我看到的一些文章似乎暗示這樣是可以的,比如這篇:Remote debugging in PHPstorm via SSH tunnel,我照著這篇文章提示的去設定,但是仍然有很多不明白的地方。我想這些最好還是放在另一個問題裡面提問。
這個提問主要是關於遠端偵錯的"common practice",究竟像我這種情況應採用怎樣的調試策略為佳?大家看我寫了這麼多就知道我真的是非常有誠意的提問,盼望各路高手不吝賜教。
回複內容:
我在用joomla做一些小的網站和應用,有的時候為了定製頁面和模組的功能,需要修改一些PHP檔案。當涉及到比較複雜的類的時候,用var_dump很不方便,所以就下定決心想要學習如何調試PHP。由於我不是搭建整個項目,而是在一個已經搭建好在啟動並執行網站上修修補補,所以我想要從自己的電腦上連到虛擬伺服器進行遠端偵錯。關於這遠端偵錯,我看了很多文檔,也作了很多嘗試,仍然是不得要領。
我想確認的是,“遠端偵錯”究竟是不是需要先為遠端網站或應用建立一個本地版本?SO上很多人告訴我必須要有一個本地版本,但是如果這樣的話我總覺得會非常麻煩。因為假如我今天把整個Joomla網站下載下來調試之後作了一些修改之後上傳回去,明天我為這個網站更新了一些擴充、文章和外掛程式,後天我要做一些調試的時候難道又不得不再把整個網站下載一遍?大家知道Joomla網站檔案很多,複製下載一遍都要5-10分鐘左右,如果每次調試都要下載一遍的話,那我還不如就用var_dump算了,雖然原始但也能對付了。
(這裡又牽涉到一個版本控制的問題。我對git不是非常熟,但如果git能讓我很方便地在把調試後的以磁碟為基礎的網站同步到遠程伺服器,那git也是一種可以接受的解決方案。)
接上文,所以,我一直在找有沒有可以讓我從本機直接連接到遠程伺服器上調試的方法。雖然我現在還不是很確定這究竟在技術上是不是可行的,但是我看到的一些文章似乎暗示這樣是可以的,比如這篇:Remote debugging in PHPstorm via SSH tunnel,我照著這篇文章提示的去設定,但是仍然有很多不明白的地方。我想這些最好還是放在另一個問題裡面提問。
這個提問主要是關於遠端偵錯的"common practice",究竟像我這種情況應採用怎樣的調試策略為佳?大家看我寫了這麼多就知道我真的是非常有誠意的提問,盼望各路高手不吝賜教。
直接在生產伺服器調試顯然不是解決方案, 那就需要一個程式開發伺服器
這個程式開發伺服器在本地時, 調試是最方便的
資料和代碼同步是小問題 git不會每次都需要10分鐘
git 第一次複製的時候會慢點,後面的都只更新改動過了的檔案。我自己開發東西都是本地一套環境線上一套環境,然後用git同步代碼,資料可以從線上導一部分下來調試。
總之git真的很方便,git的學習資料也挺多的,學習基本用法也花不了多少時間。相比較複製這種方式。。。git你太值得擁有了。