2011-11-10 77 views
12

我使用XAMPP並對其進行配置,以便爲我創建的每個項目創建虛擬主機。Xdebug分析器不工作?

在我的php.ini中,我啓用了xdebug,並且我的腳本正常工作。我的意思是,任何時候有一個警告,通知,錯誤,由xdebug報告。

現在我想啓用Xdebug的分析器,我有做以下修改到我的php.ini爲了讓Xdebug的分析器生成日誌文件:

; xdebug.profiler_enable 
; Type: integer, Default value: 0 
; Enables Xdebugs profiler which creates files in the profile output directory. Those files can be 
; read by KCacheGrind to visualize your data. This setting can not be set in your script with ini_set 
;(). 
xdebug.profiler_enable = 1 

; xdebug.profiler_output_dir 
; Type: string, Default value: /tmp 
; The directory where the profiler output will be written to, make sure that the user who the PHP 
; will be running as has write permissions to that directory. This setting can not be set in your 
; script with ini_set(). 
xdebug.profiler_output_dir ="D:\Web Development Projects\Profile" 

我重新啓動我的Apache ,但仍然在運行我的腳本時,文件夾配置文件中沒有生成文件。

還有什麼我需要做的嗎?

我已閱讀,爲了使探查:http://xdebug.org/docs/profiler


經過一番研究,我在WordPress安裝我在我的服務器在index.php文件的最後添加代碼:

echo xdebug_get_profiler_filename(); 

我跑我的WordPress之後,在頁腳我得到的結果是:

D:/Web Development Projects/Profile/xdebug_profile._::1320916508_018294 

但是當我去的文件夾

D:/Web Development Projects/Profile/ 

該文件沒有在那裏出現?任何想法 ?

+0

我忘了寫的操作系統是Windows –

回答

14

首先,您需要確保運行您的Web服務器的用戶實際上擁有對您指定的目錄的寫權限,並且該目錄需要存在。 它也有可能是Xdebug的不喜歡的路徑空間,雖然這應該工作得很好,我會嘗試設置:

xdebug.profiler_output_dir = "D:/Web Development Projects/Profiler" 

隨着\ +字符可能是一個轉義序列。

+0

讓我試試。我會在一分鐘內回答 –

+0

我剛剛做了這個改變,但仍然沒有任何結果。 –

+2

對於我來說,這個目錄也需要可寫 – Webnet

21

問題解決了!

由於日誌文件名稱而產生的問題。

我只是把它改爲:

xdebug.profiler_output_name = "callgrind.out.%t-%s" 

和正常工作!

+0

注意,如果您使用的是類似WinCacheGrind的文件,則該名稱應該是'cachegrind'而不是'callgrind',只能識別一種類型的文件。 –