2011-11-10 45 views
12

Utilizo XAMPP y lo configuré para tener hosts virtuales para cada proyecto que creo localy.Profiler Xdebug no está funcionando?

En mi php.ini he habilitado xdebug, y mis scripts funcionan correctamente. Quiero decir que cada vez que hay una advertencia, aviso, error, son reportados por el xdebug.

Ahora me gustaría que el perfilador Xdebug, y tengo que hacer los siguientes cambios en mi php.ini con el fin de permitir que el generador de perfiles Xdebug para generar el archivo de registro:

; 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" 

reinicio mi Apache , pero aún cuando ejecuto mis scripts no se genera ningún archivo en la carpeta Perfil.

¿Hay algo más que tenga que hacer?

He leído que con el fin de permitir que el Profiler: http://xdebug.org/docs/profiler


Después de algunas investigaciones, añado que el código al final de la index.php en una instalación de WordPress que tengo en mi servidor:

echo xdebug_get_profiler_filename(); 

Después de dirigir mi WordPress, en el pie de página me sale ese resultado:

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

pero cuando voy a la carpeta

D:/Web Development Projects/Profile/ 

el archivo no se apareció allí? Alguna idea ?

+0

Olvidé escribir que el sistema operativo es Windows –

Respuesta

14

En primer lugar, debe asegurarse de que el usuario al que se ejecuta su servidor web realmente tenga permisos de escritura en el directorio que ha especificado, y debe existir. También es posible que Xdebug no le gustan los espacios en los caminos, aunque eso debería funcionar bien, me gustaría probar la configuración:

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

A medida que el \ + carbón podría ser una secuencia de escape.

+0

Déjame intentarlo. Voy a responder aquí en un minuto –

+0

Acabo de hacer ese cambio y todavía nada. –

+2

Este directorio también necesita ser escribible – Webnet

21

¡Problema resuelto!

Problema generado debido al nombre del archivo de registro.

acabo de cambiar a:

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

y funciona correctamente!

+0

Tenga en cuenta que el nombre debe ser 'cachegrind' en lugar de' callgrind' si está utilizando algo como WinCacheGrind que solo reconoce un tipo de archivo. –

Cuestiones relacionadas