2012-11-08 50 views
2

我正在努力使用PHP維護腳本,並且正在尋找一種僅在命令行中使用xdebug的方法(如gdb old-school),但我無法弄清楚如何設置一個斷點,做一個切入點,繼續並繼續。 phpinfo();說,Xdebug已經啓動並正在運行。僅在命令行中設置Xdebug斷點

我發現了很多關於如何使用Eclipse和其他工具來做到這一點的文檔,但沒有找到CLI。任何人都可以幫我嗎?我的環境是Centos 6和Bash。

任何幫助表示讚賞。

謝謝!

回答

7

這實際上是可能的。在Xdebug源代碼下載中,您將找到一個名爲「debugclient」的目錄。在這個目錄中,你會發現一個簡單的客戶端接受原始DBGP命令,並以XML形式輸出。要編譯,運行:

  • 的apt-get安裝libedit-dev的(或同等學歷)
  • ./buildconf即可
  • 的./configure --with-libedit
  • 使

然後您可以使用./debugclient運行二進制文件。

在不同的外殼,然後運行如下:

  • 出口XDEBUG_CONFIG = 「idekey =博士」
  • PHP -dxdebug.remote_enable = 1 yourscript.php

的debugclient看到這個連接,然後你可以發出直接的DBGP命令。對於一個斷點,比如,你可以設置:

breakpoint_set -i 1 -t line -f file:///path/to/yourscript.php -n 42

-i 1要求是越來越多,-f是文件和-n的行號。設置斷點後,您可以運行run -i 2前進到該行。對於所有其他命令,我會引用你的DBGP文檔http://xdebug.org/docs-dbgp.php

+0

因爲xdebug是封裝在默認的php 5.3包(我安裝在Ubuntu),所以在這種情況下,有什麼步驟可以在那裏分配php腳本斷點在命令行? – neeraj