在NotePad++中安裝DBGP debugger調試PHP程式

來源:互聯網
上載者:User

本文章涵蓋了NotePad++
的安裝、Xdebug
的安裝、DBGP外掛程式
的安裝以及簡單的調試Php
的樣本。

DBGP外掛程式(PlugIn)如何工作

1、Web瀏覽器(例如:FireFox
)通過Http連接埠(80)請求Url來訪問Apache
Server。

2、XDebug
是Apache的一個擴充(DLL In Windows),類似於GD庫。

3、XDebug
是Web Server(Apache)與遠端偵錯用戶端(例如:NotePad++的DBGP外掛程式
)的一個介面,他們之間通過9000連接埠通訊。

Wire Flow:

Web browser
<==> Port 80
<==> Apache
+ PHP
+ Xdebug
extension

<==> Port 9000

 <==> DBGp Plugin-notepad++

1、開啟NotePad++,BDGP外掛程式開啟9000連接埠。

2、Web browser向Apache
請求一個php頁面,請求的Url中包含一個指定的參數

(即:XDEBUG_SESSION_START)以便啟用遠端偵錯。

3、Apache
調用Php
解譯器(Interpreter)。

4、Php解譯器載入XDebug
模組。

5、XDebug
模組檢測到第2步發送的XDEBUG_SESSION_START參數,開啟遠端偵錯。

6、XDebug
串連到遠端偵錯用戶端(依賴於XDebug
的配置項,在php.ini中)。

7、XDebug
和調試用戶端建立串連以後,通過9000連接埠進行對話。

8、當調試用戶端向XDebug
發送執行Php語句的指令後,Php
解譯器執行Php語句,相應的輸出由Apache通過80連接埠發送出去到Web Browser。

9、當所有的php代碼執行完後,XDebug
斷開與調試用戶端的串連。

10、Apache
斷開與Web Browser的Http串連。

安裝步驟

首先,你先安裝好Apache和Php的運行環境,這個我就不說了,不會安裝的話,看這裡
,也可以跟我一樣,使用xampp
,還有WinLamp
也推薦一下,反正是開發環境,不是生產環境。

我用的xampp,php模組安裝在c:/xampp/php目錄下(這個因人而異)。

1、安裝NotePad++,注意,不要選擇exe安裝包,選擇zip
包,使用包中的ansi版本即可(建立一個檔案夾notepad++到c:/Program Files,將ansi下面的所有檔案拷貝進去),否則在你安裝DBGP外掛程式的時候會報錯
(This ANSI plugin is not compatible with your Unicode
Notepad++)。

2、下載NotePad++
的中文xml檔案
,將其重新命名為nativeLang.xml,放到notepad++的根目錄下(c:/Program Files/notepad++)。

3、下載DBGP外掛程式
,一個Zipped檔案,解壓以後,將dbgpPlugin.dll和Readme.txt檔案複製到Notepad++的plugins目錄下(c:/Program Files/notepad++/plugins)。

4、建立一個php檔案phpinfo.php,列印php的配置資訊。
<?php
phpinfo();
?>

5、
建立一檔案夾supplier到apache的htdocs目錄下,執行phpinfo.php,即:http://localhost
/supplier/phpinfo.php 
檢查你的php版本,我的php版本是5.1.4,確認你的php.ini檔案的位置,以及php擴充庫extensions檔案夾的路徑。比如:


圖中表明:
php.ini檔案在C:/WebServer/Apache2/modules/php/
檔案夾下

擴充庫的路徑是C:/WebServer/Apache2/modules/php/ext/


6、到XDebug的官方網站
上下載XDebug For Php的Module,注意要與你的php的版本相匹配,對我來說,就是 PHP 5.1.2 - 5.1.6
,對應的擴充庫為php_xdebug-2.0.0-5.1.6.dll



7、拷貝php_xdebug-2.0.0-5.1.6.dll
檔案到你的php擴充庫檔案夾,比如:C:/WebServer/Apache2/modules/php/ext/
(php.ini中的extension_dir
項)

8、用Windows記事本軟體開啟php.ini,增加下面的幾行到php.ini的最後

[xdebug]

zend_extension_ts="C:/WebServer/Apache2/modules/php/ext/php_xdebug-2.0.0-5.1.6.dll"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=127.0.0.1
xdebug.remote_mode=req
xdebug.idekey=default
xdebug.remote_log="D:/www/ourcommunity.dev/log/xdebug.log"
xdebug.remote_port=9000
xdebug.show_exception_trace=0
xdebug.show_local_vars=9
xdebug.show_mem_delta=0
xdebug.trace_format=0

根據你自己的情況設定zend_extension_ts和xdebug.remote_log兩項。

9、重新啟動apache,如果apache啟動失敗,試著將php.ini中關於zend的配置項注釋掉。

比如:

;zend_extension_manager.optimizer_ts = "C:/xampp/php/zendOptimizer/lib/Optimizer"

10、重新執行phpinfo.php檔案,有沒有看到其中的xdebug地區?

配置Notepad++

1、開啟Notepad++,進入外掛程式菜單,彈出DbGp下拉式功能表列表。

2、點擊"Config..."功能表項目,如一樣配置DbGp調試器(Remote Path 和 Local Path是你的php檔案所在的檔案夾)

簡單樣本

未完待續......
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.