PHP程式z中xdebug工具簡要使用方法

來源:互聯網
上載者:User

標籤:

  • PHP程式的debug

PHP程式的debug,無論是cli方式還是web方式,都需要使用第三方的debug工具。PHP5.6之前,本身內建的debug功能,僅限於日誌輸出。

推薦使用免費xdebug。Xdebug作為zend擴充存在。可以在php安裝後,通過phpize單獨被編譯安裝。

xdebug的安裝有幾點注意

  1.  如果不知道下載什麼xdebug版本,可以在這裡,通過上傳phpinfo資訊,由系統給出建議:http://xdebug.org/wizard.php
  2. 安裝後,php.ini中需要指定的xdebug.so方式,可能因為php版本不同而不同。詳情見此:http://xdebug.org/docs/all#configure-php
  3. make install如果安裝不成功,可以去modules檔案夾下,手動拷貝xdebug.so到1中建議的檔案夾下

xdebug的使用有幾點注意

  1. 如果需要設定斷點和單步跟蹤,可以使用xdebug內建的debugclient。位於debugclient檔案夾下。安裝方法:http://xdebug.org/docs/all#debugclient
  2. xdebug的代碼跟蹤,都是通過remote debug來完成;debugclient其實是起了一個server用於監聽並等待需要debug的請求;所有的斷點設定都是通過debugclient去進行的。詳細的控制命令,可以參考:http://xdebug.org/docs-dbgp.php
  3. PHP採用debugclient作為server,而不是類似Java的remote debug方式。其原因在於一方面PHP代碼不是類似Java編譯執行可以直接看到源碼,另一方面debugclient可以根據會話設定,來區分對哪些請求才需要進行debug和單步追蹤。這對多並發的web應用是非常有意義的(當然java也可以通過設定條件斷點來實現)。參考:http://xdebug.org/docs/all#activate_debugger
  4. 對於cli的php程式進行debug時,需要設定XDEBUG_CONFIG。可以參考:http://stackoverflow.com/questions/13284795/setting-xdebug-breakpoints-solely-in-command-line

關於gdb進行PHP程式的debug,主要用於對zend engine本身、PHP源碼和擴充的debug。這也是為什麼php源碼中內建gdb指令碼.gdbinit的原因。

 

PHP程式z中xdebug工具簡要使用方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.