在安裝xdebug到時候你會有有TS和NTS版本的選擇,在以前還有VC6和VC9的版本。如果你沒有根據你目前的服務器的狀況選擇對應的版本的話,那么xdebug是安裝不成功的。
一、如何選擇 php5.3 的 VC9 版本和 VC6 版本
VC6 版本是使用 Visual Studio 6 編譯器編譯的,如果你的 PHP 是用 Apache 來架設的,那你就選擇 VC6 版本。
VC9 版本是使用 Visual Studio 2008 編譯器編譯的,如果你的 PHP 是用 IIS 來架設的,那你就選擇 VC9 版本。
二、如何選擇 PHP5.3 的 Thread Safe 和 Non Thread Safe 版本
先從字面意思上理解,Thread Safe 是線程安全,執行時會進行線程(Thread)安全檢查,以防止有新要求就啟動新線程的 CGI 執行方式而耗盡系統資源。Non Thread Safe 是非線程安全,在執行時不進行線程(Thread)安全檢查。
再來看 PHP 的兩種執行方式:ISAPI 和 FastCGI。
ISAPI 執行方式是以 DLL 動態庫的形式使用,可以在被用戶請求后執行,在處理完一個用戶請求后不會馬上消失,所以需要進行線程安全檢查,這樣來提高程序的執行效率,所以如果是以 ISAPI 來執行 PHP,建議選擇 Thread Safe 版本;
而 FastCGI 執行方式是以單一線程來執行操作,所以不需要進行線程的安全檢查,除去線程安全檢查的防護反而可以提高執行效率,所以,如果是以 FastCGI 來執行 PHP,建議選擇 Non Thread Safe 版本。
這樣就可以根據自己的使用情況選擇所需的php版本下載了。
注:ISAPI 和 FastCGI無需在php中設置,是webserver的操作。
通過phpinfo();查看當前php是什么版本,Thread Safety,這個參數是查看是否是線程安全。
我的PHP是5.2的運行在apache上,通過phpinfo發現thread safety是enabled的,所以我選擇了VC6非線程安全的版本安裝。在windows下的php.ini增加以下配置即可
[XDebug] zend_extension_ts="D:/Program Files/php-5.2.13-Win32/ext/php_xdebug-2.2.3-5.2-vc9.dll" ;是否開啟自動跟蹤 xdebug.auto_trace = On ;是否開啟異常跟蹤 xdebug.show_exception_trace = On ;是否開啟遠程調試自動啟動 xdebug.remote_autostart = On ;是否開啟遠程調試 xdebug.remote_enable = On ;允許調試的客戶端IP xdebug.remote_host=127.0.0.1 ;遠程調試的端口(默認9000) xdebug.remote_port=9000 ;調試插件dbgp xdebug.remote_handler=dbgp ;是否收集變量 xdebug.collect_vars = On ;是否收集返回值 xdebug.collect_return = On ;是否收集參數 xdebug.collect_params = On ;跟蹤輸出路徑 xdebug.trace_output_dir="d:\xdebug\trace_output_dir" ;是否開啟調試內容 xdebug.profiler_enable=On ;調試輸出路徑 xdebug.profiler_output_dir="d:\xdebug\profiler_output_dir"