首頁 > 運營 > 幫助中心 > 正文

php xdebug安裝配置與調試php技巧

2020-09-18 19:30:41
字體:
來源:轉載
供稿:網友

xdebug是一個php代碼執行高度工具,它可以很好的測試我們的php代碼各個階段的性能,這樣我們可以及時的進行數代碼優化了,下面我來給大家從配置xdebug與xdebug調試技巧.

windows xdebug配置安裝

1.下載Xdebug

下載地址:http://xdebug.org/download.php

最新版本是2.1.2,版本很多,有32位和64位的區別,VC6和VC9的區別,以及線程安全與否的區別.

把<?PHP phpinfo(); ?>保存到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文件,在文件最后插入以下代碼:

  1. [Xdebug] 
  2. zend_extension="E:APMServPHPextphp_xdebug.dll" 
  3.  
  4. xdebug.auto_trace=On 
  5. ;自動跟蹤設置最好在最前面設置,要不然不會開啟 
  6.  
  7. xdebug.profiler_enable=on 
  8.  
  9. xdebug.trace_output_dir="E:APMServxdebug" 
  10. //開源代碼Cuoxin.com 
  11. xdebug.profiler_output_dir="E:APMServxdebug" 
  12.  
  13. ;最大遞歸數 
  14.  
  15. xdebug.max_nesting_level=100 
  16.  
  17. ;重寫var_dump() 
  18.  
  19. xdebug.overload_var_dump = On 
  20.  
  21. ;當這個參數被設置為1時,即使捕捉到異常,xdebug仍將強制執行異常跟蹤當一個異常出現時 
  22.  
  23. xdebug.show_exception_trace=1 
  24.   
  25. xdebug.show_local_vars = 1 
  26.  
  27. xdebug.collect_params=On 
  28.  
  29. xdebug.collect_return=On 
  30.  
  31. xdebug.collect_vars=On 
  32.  
  33. xdebug.dump_undefined=On 
  34.  
  35. xdebug.profiler_enable_trigger=On 
  36.   
  37. ;允許遠程連接 
  38.  
  39. xdebug.remote_enable=true 
  40.  
  41. ;允許遠程連接的zs IDE的ip地址       
  42.  
  43. xdebug.remote_host=192.168.0.51 
  44.  
  45. ;zendstudio 設定的端口 
  46.  
  47. xdebug.remote_port=9000 
  48.  
  49. ;zendstudio 的應用層通信協議 
  50.  
  51. xdebug.remote_handler=dbgp 
  52.  
  53. 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,代碼如下:

  1. wget http://www.xdebug.org/files/xdebug-2.2.3.tgz 
  2. tar xzf xdebug-2.2.3.tgz 
  3. cd xdebug-2.2.3 
  4. /usr/bin/phpize 
  5. ./configure --with-php-config=/usr/local/php/bin/php-config 

修改php.ini配置,把下面這些加入,代碼如下:

  1. ;no-debug-non-zts-20090626 這個文件夾名稱和php版本是一一對應的 
  2.  
  3. zend_extension= "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so" 
  4.  
  5. xdebug.default_enable = On 
  6. xdebug.show_exception_trace = On 
  7. xdebug.show_local_vars = 1 
  8. xdebug.max_nesting_level = 50 
  9. xdebug.var_display_max_depth = 6 
  10.  
  11. xdebug.dump_once = On 
  12. xdebug.dump_globals = On 
  13. xdebug.dump_undefined = On 
  14. xdebug.dump.REQUEST = * 
  15. xdebug.cli_color = 2 

重啟php-fpm,隨便寫段錯誤的php代碼,刷新瀏覽器,就能看到錯誤提示.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
金玫玫床戏