xdebug是一個php代碼執行高度工具,它可以很好的測試我們的php代碼各個階段的效能,這樣我們可以及時的進行數代碼最佳化了,下面我來給大家從配置xdebug與xdebug調試技巧。
windows xdebug配置安裝
1. 下載Xdebug
下載地址:http://xdebug.org/download.php
最新版本是2.1.2,版本很多,有32位和64位的區別,VC6和VC9的區別,以及安全執行緒與否的區別
把儲存到test.php,儲存的伺服器目錄,通過瀏覽器開啟。在最前面的Info中找到Compiler(沒有的話是VC6的)、Architecture(沒有話看Configure Command的值)和Thread Safety。如,應該下載32位VC9安全執行緒的(PHP 5.3 VC9 TS (32 bit))
2. 安裝Xdebug
如果你已經配置好PHP,把下載好的檔案改名為php_xdebug.dll(不改也沒關係,只是為了好看),放下PHP安裝目錄的ext檔案夾。
3. 配置Xdebug
Xdebug的設定項目很多,我只瞭解很少的一部分,所以只說說常用的。修改PHP安裝目錄的php.ini檔案,在檔案最後插入以下代碼:
[Xdebug]
| 代碼如下 |
複製代碼 |
|
zend_extension="E:APMServPHPextphp_xdebug.dll"
xdebug.auto_trace=On
;自動跟蹤設定最好在最前面設定,要不然不會開啟
xdebug.profiler_enable=on
xdebug.trace_output_dir="E:APMServxdebug"
xdebug.profiler_output_dir="E:APMServxdebug"
;最大遞迴數
xdebug.max_nesting_level=100
;重寫var_dump()
xdebug.overload_var_dump = On
;當這個參數被設定為1時,即使捕捉到異常,xdebug仍將強制執行異常跟蹤當一個異常出現時
xdebug.show_exception_trace=1
xdebug.show_local_vars = 1
xdebug.collect_params=On
xdebug.collect_return=On
xdebug.collect_vars=On
xdebug.dump_undefined=On
xdebug.profiler_enable_trigger=On
;允許遠端連線
xdebug.remote_enable=true
;允許遠端連線的zs IDE的ip地址
xdebug.remote_host=192.168.0.51
;zendstudio 設定的連接埠
xdebug.remote_port=9000
;zendstudio 的應用程式層通訊協定
xdebug.remote_handler=dbgp
xdebug.extended_info="1" |
因為我不希望有Log檔案(因為那個檔案增長很快,不兩天有一兩G了),所以把trace_output_dir和profiler_output_dir注釋掉了,要注意的是Xdebug不會自動建目錄的,必須保證設定的目錄是實際存在的。至於其它的幾個,都是預設值,所以注掉了,因為可能會改,所以列出來了。現在重新整理一下phpinfo()的頁面,應該就能看到Xdebug的資訊了。
linux xdebug配置安裝
xdebug是php的一個module,需要編譯安裝,我用lnmp安裝的php,php被預設安裝到/usr/local/php,然後做一個永久連結到/usr/bin
先編譯xdebug
| 代碼如下 |
複製代碼 |
|
wget http://www.xdebug.org/files/xdebug-2.2.3.tgz
tar xzf xdebug-2.2.3.tgz
cd xdebug-2.2.3
/usr/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config |
修改php.ini配置
把下面這些加入
| 代碼如下 |
複製代碼 |
|
;no-debug-non-zts-20090626 這個檔案夾名稱和php版本是一一對應的
zend_extension= "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
xdebug.default_enable = On
xdebug.show_exception_trace = On
xdebug.show_local_vars = 1
xdebug.max_nesting_level = 50
xdebug.var_display_max_depth = 6
xdebug.dump_once = On
xdebug.dump_globals = On
xdebug.dump_undefined = On
xdebug.dump.REQUEST = *
xdebug.cli_color = 2 |
重啟php-fpm,隨便寫段錯誤的php代碼,重新整理瀏覽器,就能看到錯誤提示
http://www.bkjia.com/PHPjc/629820.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/629820.htmlTechArticlexdebug是一個php代碼執行高度工具,它可以很好的測試我們的php代碼各個階段的效能,這樣我們可以及時的進行數代碼最佳化了,下面我來給大...