depurador - use xdebug atom
ConfiguraciĆ³n de Atom+Xdebug (5)
Como dice @sparkos72 , la clave ide ide xdebug.atom
funciona para mí en Ubuntu 16.04 y Debian 7 :-). Intento extender su respuesta.
Usé la extensión php-debug atom con esta configuración en xdebug.ini (ruta: /etc/php5/apache2/conf.d/xdebug.ini).
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=172.17.0.1
xdebug.remote_port=9000
xdebug.idekey=xdebug.atom
xdebug.remote_autostart=true
Tengo un contenedor docker con debian 7 + apache + php 5, esa es la razón porque uso ip 172.17.0.1 en lugar de 127.0.0.1. Mi máquina "real" es un Ubuntu.
Espero eso ayude.
Estoy tratando de configurar Xdebug porque estoy cansado de usar ecos y var_dumps. Estoy usando Atom como mi IDE con el complemento php-debug . Estoy usando el servidor laravel Homestead vm. el puerto reenviado 9000 a 9999 Atom tiene el complemento instalado con la siguiente configuración:
Establecí un punto de interrupción en Atom, navego a mi página pero el punto de interrupción no se dispara. Tengo el presentimiento de que tiene algo que ver con la clave IDE, pero no sé cómo proceder.
¿Alguien sabe la clave IDE para el átomo? ¿O hay algo más que me falta?
edición: he añadido lo siguiente a xdebug.ini:
xdebug.auto_trace = 0
xdebug.collect_includes = 1
xdebug.collect_params = 1
xdebug.collect_return = 0
xdebug.collect_vars = "Off"
xdebug.default_enable = "On"
xdebug.dump.COOKIE = ""
xdebug.dump.FILES = ""
xdebug.dump.GET = ""
xdebug.dump.POST = ""
xdebug.dump.REQUEST = ""
xdebug.dump.SERVER = ""
xdebug.dump.SESSION = ""
xdebug.dump_globals = 1
xdebug.dump_once = 1
xdebug.dump_undefined = 0
xdebug.extended_info = 1
xdebug.file_link_format = ""
xdebug.idekey = "VVVDEBUG"
xdebug.manual_url = "http://www.php.net"
xdebug.max_nesting_level = 100
xdebug.overload_var_dump = 1
xdebug.profiler_append = 0
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = "/tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "192.168.50.1"
xdebug.remote_log = /srv/log/xdebug-remote.log
xdebug.remote_mode = "req"
xdebug.remote_port = 9000
xdebug.show_exception_trace = 0
xdebug.show_local_vars = 0
xdebug.show_mem_delta = 0
xdebug.trace_format = 0
xdebug.trace_options = 0
xdebug.trace_output_dir = "/tmp"
xdebug.trace_output_name = "trace.%c"
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
xdebug.var_display_max_depth = -1
La clave IDE es xdebug-atom para mí en PHP3.2 + ATOM + XAMPP + XDEBUG Helper, recomendando encarecidamente utilizar XDEBUG Helper, podría establecer la clave IDE allí.
La clave IDE es xdebug.atom para mí (mac / apache). En la configuración de depuración php de Atom, configure el puerto del servidor en 9000
Ninguna de las respuestas funcionó para mí, así que voy a dejar una propia.
Preparar
- Asegúrese de que xdebug esté habilitado;
sudo phpenmod xdebug
o equivalente - Asegúrese de que xdebug está configurado correctamente:
- xdebug.remote_enable = 1
- xdebug.remote_handler = dbgp
- xdebug.remote_mode = req
- xdebug.remote_host = 172.17.0.1 (según su configuración)
- xdebug.remote_port = 9000 (según su configuración)
- No hizo xdebug.remote_autostart porque inicia las tareas de depuración incluso para las solicitudes normales. Por lo tanto, incluso si no está en el modo de depuración para la extensión Chrome / Firefox, se realizará un intento de transmitir datos de depuración, lo que podría ralentizar las cosas sin ningún motivo.
- Instale la extensión Xdebug chrome / firefox y configure la clave IDE como
xdebug-atom
(encontré quexdebug.atom
también funciona).
Depuración
Cuando realmente quieres depurar algo,
- Agregue un punto de interrupción donde desee en su código;
Alt + F9
o equivalente. - Abra el panel de depuración de PHP en Atom;
Ctrl + Alt + D
o equivalente. Si está en ciertas versiones de Ubuntu, es posible que desee cambiar el acceso directoCtrl + Alt + D
podría actuar como Mostrar escritorio . En ese caso, haga clic en el botón de depuración de PHP en el IDE para alternar el depurador. - El depurador debería decir algo como Escuchar el puerto 9000 o el puerto que configuró en la configuración de depuración de PHP.
- Abra la página que desea depurar en su navegador (si no está ya abierta) y haga clic en el icono de extensión de depuración para habilitar el modo de depuración . Esto realmente establece una cookie en su documento como
XDEBUG_SESSION=xdebug-atom
, etc. - Una vez que la extensión de depuración esté habilitada, actualice la página y debería poder usar el depurador (si todo salió bien).
Espero que esto ayude. Tomó un tiempo para que funcione. Ahora no tengo que comprar PHP Storm!
Sé que es tarde pero otra vez:
Su archivo .ini tiene esto:
xdebug.idekey = "VVVDEBUG"
lo que significa que necesita establecer el valor "VVVDEBUG" (sin comillas) en la configuración de la extensión "The Easiest Xdebug" donde se usa actualmente "Atom"