2010-09-29 23 views
12

Tengo instalado xdebug correctamente (aparece en phpinfo()) pero estoy intentando que funcione con la funcionalidad de cobertura de código de PHPUnit. Me sigue diciendo "La extensión XDebug no está cargada". Tengo phpunit funcionando bien con WAMP. Cuando ejecuto php -m no veo xdebug enumerado ni en los módulos php ni en los módulos zend que apuntan a por qué phpunit no se encuentra la extensión xdebugLa extensión xdebug no está cargada

¿Alguien tiene alguna idea de este problema?

Mi configuración detallada es la siguiente: Windows 7 PHP 5.3.0 Apache 2.2.11 Zend Engine v2.3.0 Xdebug v2.1.0

Gracias, Krishnen

Respuesta

4

¿Tiene WAMP tiene un archivo de configuración diferente para la CLI y Apache? Yo uso Ubuntu personalmente, pero un google rápido me llevó a this WAMP FAQ

HTH.

+0

Hola, phpinfo indica que el siguiente archivo INI se carga C: \ wamp \ bin \ apache \ Apache2.2.11 \ bin \ php.ini ... esa es la que modifiqué agregó las siguientes configuraciones: [XDebug] zend_extension = "C: \ wamp \ bin \ php \ php5.3.0 \ ext \ php_xdebug.dll " xdebug.remote_enable = 1 – krishnen

+1

Esa ruta, es decir,' C: \ wamp \ bin \ apache \ Apache2.2.11 \ bin \ php.ini' parece indicar que solo ha alterado el archivo de configuración de APACHE PHP, no el C LI archivo de configuración de PHP Consulte la respuesta de edorian para obtener un puntero sobre cómo averiguar qué archivo de configuración está usando su CLI PHP. – Robin

+0

¡tienes razón! soy tan idiota ... agregué la configuración zend_extension en el otro archivo de configuración CLI PHP y ahora también funciona en Windows.Thks – krishnen

1

Gracias a todos los que respondieron. Repetí el procedimiento en una estación de trabajo ubuntu. Esta vez compilé todo desde la fuente. Todo funcionó a la perfección y ahora puedo ejecutar phpunit con cobertura. Esto debe ser un problema específico de Windows. Solo usaré un cuadro de Linux para este proceso. Cualquiera que tenga problemas para configurar xdebug en linux, ¡me complacerá ayudarlo!

2

Escriba php --ini en cmd y vaya al archivo php.ini que se muestra.

Este php.ini necesita tener la configuración XDebug ...

mina es:

  
[XDebug] 
; Only Zend OR (!) XDebug 
zend_extension=C:\wamp\bin\php\php5.3.0\ext\php_xdebug-2.0.5-5.3-vc6.dll 
; XAMPP and XAMPP Lite 1.7.0 and later come with a bundled xdebug at /php/ext/php_xdebug.dll, without a version number. 
xdebug.remote_enable=1 
xdebug.remote_host=127.0.0.1 
xdebug.remote_port=9000 
; Port number must match debugger port number in NetBeans IDE Tools > Options > PHP 
xdebug.remote_handler=dbgp 
xdebug.profiler_enable=1 
xdebug.profiler_output_dir="c:\wamp\xdebug" 
xdebug.var_display_max_depth = 10 
xdebug.var_display_max_data = 2048 

(tenga en cuenta las líneas de ruptura)

7

realizar php --ini para comprobar El archivo de configuración de bruja está cargado.
si tiene algo como esto:

archivo de configuración cargado: (ninguno)
Detectar archivos .ini adicionales en: (ninguno)
archivos .ini adicionales analizado: (ninguno)

sólo tienes que copiar el php.ini en ventanas de directorio;)

+1

Cuando el usuario está cargando una página web (lo que significa que usa apache) se está utilizando la versión del módulo de php y la configuración de esa versión se muestra mediante la función phpinfo() .Php --ini comando desde la línea de comandos muestra la configuración del versión cgi independiente de php. – skiabox

0

Es necesario crear dos enlaces simbólicos:

  1. c: \ php es un enlace simbólico a la carpeta de PHP actual
  2. c: \ windows \ php.ini es un enlace simbólico a su PHP actual .ini

Para crear un enlace simbólico en el uso de Windows MKLINK comando

por ejemplo,

  • MKLINK/D c: \ php c: \ ruta \ a \ carpeta \ php hace un enlace simbólico al directorio
  • MKLINK c: \ windows \ php.ini c: \ ruta \ a \ su \ php \ php.ini hace un enlace simbólico para presentar

al parecer, en las ventanas de alguna manera PHPUnit duerma ver caminos reales y con ello crear enlaces simbólicos que rutas predeterminadas virtuales para que

0
  1. abierta php.ini.
  2. look para ; zend_extension
  3. eliminar ; al comienzo de ; zend_extension para permitir que
  4. Asegúrese valor de zend_extension es el directorio correcto para el php_xdebug.dll
Cuestiones relacionadas