找到對應php版本的
xdebug
,後面帶
ts 的為執行緒安全,本機環境為
win7 64 + php-5.5.1-win32-vc11-x64
xdebug 2.3.3 php 5.5 vc11 ts (64 bit)
安裝:dll檔案(
這裡是php_xdebug-2.3.3-5.5-vc11-x86_64.dll)
放到 php
安裝目錄的
ext
資料夾下。本機放在
d:\apacheserver\php\ext\
在apacheserver下面新建
xdebug
資料夾,再在
xdebug
下面新建
trace
與profiler
資料夾,用來存放
xdebug
生成的兩種資訊
編輯php.ini,加入下面幾行
zend_extension = "d:\apacheserver\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
;允許遠端
ide除錯
xdebug.remote_enable = true
;遠端主機
xdebug.remote_host = 127.0.0.1
;xdebug.remote_port = 9000 ;預設埠
9000
xdebug.profiler_enable = on
;臨時跟蹤資訊輸出
xdebug.trace_output_dir = "d:\apacheserver\xdebug\trace"
xdebug.profiler_output_dir = "d:\apacheserver\xdebug\profiler"
;其餘引數
;開啟自動跟蹤。自動開啟
"監測函式呼叫過程
"的功模。該功能可以在你指定的目錄中將函式呼叫的監測資訊以檔案的形式輸出
xdebug.auto_trace = on
;開啟異常跟蹤
xdebug.show_exception_trace = on
;開啟遠端除錯自動啟動
xdebug.remote_autostart = on
;收集變數
xdebug.collect_vars = on
;收集返回值
xdebug.collect_return = on
;收集引數
xdebug.collect_params = on
;顯示區域性變數
xdebug.show_local_vars = on
;顯示預設的錯誤資訊
xdebug.default_enable = on
;用於zend studio
遠端除錯的應用層通訊協議
xdebug.remote_handler = dbgp
;如果設得太小
,函式中有遞迴呼叫自身次數太多時會報超過最大巢狀數錯
xdebug.max_nesting_level = 10000
zend_extension = "d:\apacheserver\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll" 與
zend debugger
一樣不同系統及 php 版本有不同寫法
linux 和
mac os x : zend_extension = "d:\apacheserver\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
windows thread-safe 版
php : zend_extension_ts = "d:\apacheserver\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
windows non-thread-safe 版
php : zend_extension = "d:\apacheserver\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
所以同一伺服器只能載入乙個除錯工具,要麼 zend debugger 要麼
xdebug
但在 php5.5 環境下測試,
thread-safe
版 php
後面不能加
_ts
只能寫成
zend_extension =
xdebug.profiler_enable = on 及後面的目錄
"d:\apacheserver\xdebug"
作用是開啟把執**況的分析檔案寫入到指定目錄中的功能,可自由設定。也可不寫
生成的檔案,例如 cachegrind.out.4408 這種格式命名的檔案,用編輯器開啟可以看到很多程式執行的相關細節資訊
重啟apache
重啟先寫乙個可以導致執行出錯的程式,例如嘗試包含乙個不存在的檔案。
<?phprequire 'abc.php';?>
然後通過瀏覽器訪問,驚奇地發現,出錯資訊變成了彩色的了,並且xdebug跟蹤**的執行
zend studio設定
zend studio 10.6.2
apache2.4.4
修改 zend studio 設定
window->preferences->php->php executables->add
填寫內容如下,executable path選擇檔案後
php ini file (optional)
自動賦值
name : php 5.5.1_cli
executable path : d:\apacheserver\php\php.exe
php ini file (optional) : d:\apacheserver\php\php.ini
sapi type : cli
php debugger : xdebug
點選finish儲存後自動就是預設
(如果只需要
cli除錯此步可忽略)點選
php server
下拉框default php web server
右邊的php servers...
選中name|url列表中的一條內容,點選右邊的
edit
在彈出框的debugger下拉框中選擇
xdebug
開始除錯
在**中在左邊行數欄上雙擊加斷點
run->debug configurations...
在name處輸入想要的名稱,在
php file
處右邊點選
browse
,選擇要
debug
的檔案,點選下面的
即可或者開啟要執行的頁面
即可以除錯模式執行,也可選擇cli之外其他除錯模式
點選工具欄向下箭頭(step into)或按
f5 逐行執行。點選左邊的綠色向右箭頭
(resume)
或按f8
一直執行,直到斷點處停下
點選紅色按鈕(terminate)結束除錯,再點選臭蟲按鈕重新開始除錯
php擴充套件 xdebug安裝
xdebug在linux下的安裝教程 wget 2 解壓縮 tar zxvf xdebug 2.3.3.tgz 3 進入解壓的目錄 cd xdebug 2.3.3 4 建立外掛程式模組 phpize 5 配置 configure with php config usr local php bin p...
php 安裝xdebug 擴充套件失敗
通過 phpinfo 檢視當前php版本 在php.ini 中新增配置 xdebug.profiler output dir d phpstudy phptutorial tmp xdebug xdebug.trace output dir d phpstudy phptutorial tmp xd...
PHP 安裝 Xdebug 擴充套件(一)
1.xdebug 簡介 xdebug 是乙個開放源 的 php 程式偵錯程式 即乙個debug工具 可以用來跟蹤,除錯和分析php程式的執行狀況。當前最新版本為 xdebug 2.5.0。2.xdebug 相關資料 官網 官網文件 docs 3.選擇合適的版本 如果官方的文件看不懂,可以繼續往下看。...