almost 4 years ago

久聞 Xdebug 的強大,現在來實作一下

測試環境: Ubuntu 14.04 LTS

Installing Xdebug

直接使用 apt-get 安裝 xdebug
$ sudo apt-get install php5-xdebug

安裝完成後,/etc/php5/mods-available/ 下會增加一個 xdebug.ini 的設定檔
apache 跟 cli 也都已經載入 xdebug

Configure Xdebug

首先要設定 xdebug.remote_enable,開啟 xdebug。

還有 xdebug.remote_host 跟 xdebug.remote_port ,決定 debug 要連接的 ip 跟 port,
不過這邊就不另外設定,直接使用預設值 (localhost:9000)

編輯 xdebug.ini
vi /etc/php5/mods-available/xdebug.ini

完成之後會長成以下的樣子:

zend_extension=xdebug.so


xdebug.remote_enable = 1

你可以從 phpinfo() 檢查你的 xdebug 設定

Configure PHPStorm

使用 fuelphp 1.8 來測試 PHPStorm + XDebug
下面是一個全新的 fuelphp framwork:

Servers setting

首先,來設定 web server 的部份。開啟設定 File -> Settings,選 Project setting -> PHP -> Servers,將此 project 的 host 跟 port 都設定好,如下圖:

Run Configure

再來是設定 Debug
開啟 Run -> Edit Configurations,增加一組 Web Application 設定
如下圖:

Running

在程式中設定 Breakpoints,接著執行 Run -> Debug,PHPStorm 會依照我們剛剛設定的內容,開啟 web browser

且會在網址後接上一個 xdebug 的參數,會長的像:
localhost/fuel/public/?XDEBUG_SESSION_START=10096

接著看過來 PHPStorm 上面,會看到像下面一樣的畫面:

程式跑到一半,停留在我剛剛設定的 breakpoint 上,程式運行中的 Frames, Variables 等等都可以直接查看

Summary

完成了 php-xdebug 的設定,我們可以更加輕鬆的進行 debug,擺脫 echo, print_r(), var_dump() 這些方法了。接下來的挑戰是要怎麼更加充份的利用 xdebug 這個工具,到目前為止都只是很初階的應用而已。

另外,如果想了解 xdebug 的運作細節,可以到 http://xdebug.org/docs/remote 查看文件,上面有很清楚的說明。

Reference

http://xdebug.org/docs/remote
http://www.sitepoint.com/debugging-and-profiling-php-with-xdebug/
http://www.sitepoint.com/install-xdebug-phpstorm-vagrant/

← sudo vs gksudo 用 Vagrant 建立開發環境 →
 
comments powered by Disqus