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文件,在文件最后插入以下代碼:
- [Xdebug]
- zend_extension="E:APMServPHPextphp_xdebug.dll"
- xdebug.auto_trace=On
- ;自動跟蹤設置最好在最前面設置,要不然不會開啟
- xdebug.profiler_enable=on
- xdebug.trace_output_dir="E:APMServxdebug"
- //開源代碼Vevb.com
- 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代碼,刷新瀏覽器,就能看到錯誤提示.
新聞熱點
疑難解答