with remote mac debug command-line netbeans xdebug php

command-line - remote - xdebug phpstorm 2017



DepuraciĆ³n de scripts php-cli con xdebug y netbeans? (6)

Agregue xdebug.remote_autostart=On a su archivo php.ini o agregue -dxdebug.remote_autostart=On como parámetro a la llamada binaria de PHP ( php -d... script.php ).

Ver http://xdebug.org/docs/remote

Logré iniciar la sesión de depuración del script php-cli desde el propio IDE, pero necesito iniciar la sesión de depuración desde el shell / línea de comandos. Se trata de scripts PHP de mantenimiento bastante complejos que requieren una gran cantidad de parámetros de entrada, por lo que ingresar argumentos dentro de Netbeans es un poco engorroso.

Lo he hecho antes con Zend studio: https://zend18.zendesk.com/hc/en-us/articles/203838096-Debugging-PHP-CLI-Scripts , pero ahora necesito hacerlo funcionar con Netbeans.

Gracias por adelantado.


Lo tengo trabajando en Ubuntu / Netbeans por:

  • copiando las líneas de configuración de xdebug del archivo /etc/php5/apache2/php.ini en /etc/php5/cli/php.ini
  • establecer una variable de entorno con el nombre de la sesión de depuración (puede obtener esto de la cadena de consulta en la url de la página que inicia netbeans cuando se inicia la depuración), por lo que el comando es: export XDEBUG_CONFIG="idekey=netbeans-xdebug"

Entonces es simplemente un caso de iniciar la depuración en netbeans y hacer php myscript.php en la línea de comandos.

Nota: si desea depurar remotamente usando netbeans, necesita usar el archivo de depuración en el archivo que se ejecuta desde la línea de comandos, no en la depuración normal.


Puede usar el proyecto Dephpugger si no quiere configurar xDebug para su IDE (odio las configuraciones).

https://github.com/tacnoman/dephpugger

Puede ejecutar el depurador en la terminal, como ipdb para Python y byebug para Ruby.


Tuve el mismo problema que mi solución fue esta:

En Netbeans> la ventana del proyecto> haga clic derecho en el proyecto php> propiedades> Ejecutar configuración. Crear una nueva configuración

Complete los valores correctos:

  • Ejecutar como "script"
  • establecer el intérprete php
  • cambiar el archivo de índice en mi caso era "cron / index.php".

Tuve el mismo problema, mi solución fue esta:

  1. Medio ambiente: Netbeans 8.2 en windows (apache + php)
  2. Suponiendo que ya tiene configurado PHP y NetBeans para depurar código utilizando Xdebug ( http://wiki.netbeans.org/HowToConfigureXDebug#Notes_on_Windows_Configuration )
  3. En netbeans crea una nueva configuración ("Propiedades del proyecto"> "Configuración de ejecución"> "Nuevo ..."
  4. En el nuevo conjunto de Configuración, no abra el navegador web ("Avanzado"> "No abrir el navegador web")
  5. Establecer activa la nueva configuración creada (desplegable en la barra de herramientas)
  6. Establecer punto de interrupción para la depuración
  7. Abrir depuración (CTRL + F5)
  8. Abre la ventana del terminal ("Herramientas"> "Abrir en el terminal")
  9. Escriba terminal: $ export XDEBUG_CONFIG = "idekey = netbeans-xdebug" (el valor "netbeans-xdebug" debe coincidir con "Herramientas"> "Opciones"> "Depuración"> "ID de sesión")
  10. Escriba el terminal: $ php.exe -f "C: / Apache24 / htdocs / www.SiteName / ScriptName.php" - "Arg1 = x & Arg2 = y"
  11. Seguir depuración ...

Voy a poner todo junto, el siguiente es que funciona para mí.

file: /etc/php5/cli/php.ini zend_extension="/usr/lib/php5/20121212/xdebug.so" -> xdebug bin path xdebug.remote_enable=on xdebug.remote_host=127.0.0.1 xdebug.remote_handler="dbgp" xdebug.remote_mode="req" xdebug.remote_port=9000 -> same port configured in netbeans debugging tab xdebug.idekey="netbeans-xdebug" -> same ide configured in netbeans debuggin tab xdebug.remote_autostart=1

entonces, sin ningún otro parámetro

php script.php