2010-02-05 16 views
11

Sé que esto suena extraño, pero créanme, es lo que está sucediendo. Aquí están mis ajustes del sistema:Apache no carga Xdebug, pero lo hace cuando se inicia desde la línea de comandos

Windows7
Apache 2.2
PHP 5.2.12
Xdebug 2.0.5

He XDebug configurado en mi archivo php.ini. Cuando ejecuto php -m, de hecho veo que Xdebug está cargado. Ahora, si inicio Apache COMO SERVICIO (o mediante Apache Monitor), y ejecuto phpinfo(), NO se muestra Xdebug como cargado.

Sin embargo, (ahora aquí está la parte loca), si voy a mi directorio Apache bin, y simplemente ejecuto httpd.exe, y luego voy a mirar phpinfo(), ¡Xdebug ahora se muestra como cargado!

Además, al comparar algunos phpinfo() cuando se inicia a través del servicio o por línea de comandos, parece que el archivo php.ini es el mismo para cada caso. Todo se ve igual a excepción de la parte que se carga Xdebug.

Por favor, si tiene alguna idea, sería muy apreciada.

+0

Tengo el mismo problema en Snow Leopard. –

+0

Algún problema en Ubuntu –

+0

Mismo problema en Mountain Lion. Me vuelve loco – pal4life

Respuesta

0

Tuve un problema similar con Xdebug en Windows/IIS - php -m mostró el módulo cargado, pero phpinfo() no lo hizo. Resultó ser un problema de permisos: una vez que configuré el xdebug .dll para dar acceso de lectura a usuarios anónimos, comenzó a funcionar. Verificaría los permisos en ese .dll para asegurarme de que cualquier usuario que Apache esté ejecutando tenga acceso a él.

+0

¿Cómo hacer esto en Mountain Lion? – pal4life

1

En general, es archivos de configuración diferentes para cada posible forma de invocar una instancia de php: HTTP/CLI etc (al menos esto puede ser el caso en * nix)

Yo sugeriría hacer una búsqueda en su sistema para php * ini y vea si tiene varios archivos con configuraciones Xdebug diferentes/faltantes.

+0

Hice una búsqueda ..... no había otro archivo php.ini. – JamesD

0

Posiblemente sea una versión/combinación de errores. Tuve un problema diferente (XDebug no reconocía algunas variables), el problema desapareció cuando llegué a 2.1.0.

http://xdebug.org/download.php

1

Hace poco me encontré con el mismo problema, pero tuve que puntos de alfiler SELinux para permitir el acceso al módulo httpd xdebug.so:

chcon -v -R --type=httpd_sys_content_t /path/to/your/xdebug.so 

Recomenzó httpd y todo funcionaba como se esperaba.

0

Tuve este problema y descubrí que fue causado por tener barras oblicuas en mi php.ini en lugar de barras diagonales inversas. Así que trate de : C: \ php \ ext \ xdebug.dll en lugar de C: /php/ext/xdebug.dll

0

Mike Purcell, que lo tenía casi justo ...

En nueva Red Hat y otras distribuciones de Linux SELinux está habilitado (chupa el más grande) y bloquea a los hijos apache generados (como xdebug.so) para que hagan ciertas cosas, como acceder a la web.

Por lo tanto es necesario deshabilitar SELinux usando:

vi /etc/selinux/config 

SELINUX=disabled 

modo y reiniciar el sistema, esto deshabilitará SE Linux y X-depuración comenzarán a trabajar ... mató a un día entero causa de esto, creo que sirve alguien ..

Así es también como servidores de Amazon EC2 y AWS Linux están configurados ...

Sean.

Cuestiones relacionadas