Skip to content

Instantly share code, notes, and snippets.

@osoda
Last active August 30, 2022 07:54
Show Gist options
  • Save osoda/256fbfba42b7554c34488a44301f2032 to your computer and use it in GitHub Desktop.
Save osoda/256fbfba42b7554c34488a44301f2032 to your computer and use it in GitHub Desktop.
instalaccion y configuracion de xDebug en Cpanel con PHP

En este ejemplo se muestra la Configuracion con Vscode xDebug, sobre PHP 7 en entorno Cpanel/WHM

1) Instalamos el xDebug en Whm, desde.

2) Configuramos el php.ini en MultiPHP INI Editor

  • Añadimos los siguientes parametros. [XDebug] xdebug.mode = debug xdebug.start_with_request = yes xdebug.client_port = 9004 xdebug.client_host = 127.0.0.1
  • Nota: El client_port cambiara mas adelante, pero solo para que se ecexute en un solo proyecto y eso lo veremos mas adelante. Si se quiere debuggear todos los proyectos, dejamos por defecto el puesto 9003 y continuamos con los siguientes pasos menos el del htacces.
  • Quedaria asi, image

3) Configuracion de un unico projecto para debuggear en .htaccess.

  • Se configura el .htaccess del proyecto, para que maneje el xDebug en un puerto distinto y no se pare en ejecucciones de otros proyectos online.
  • Se añaden las siguientes lineas de codigo: `# _dd php xDebug php_value xdebug.client_port 9003

_dd php xDebug --END`

  • Como en la imagen. image
  • Se sube el htaccess al servidor.

4) Configuración de la conexion con el puerto del servidor y el local.

  • Con Port forwading remote se puede configurar, en el ejemplo se aplicara sobre Putty.
  • En putty, despues de haber confiogurado los parametros de la session. Nos vamos a la Category: Conection -> SSH > Tunnels.
  • En Source port se coloca el puerto 9003
  • En Destination colocamos 127.0.0.1:9003
  • Y abajo marcamos Remote y Auto
  • Quedaria asi. image
  • Luego colvemos a la Category: Session y guardamos.
  • Despues de eso abrimos la coneccion y el puerto quedaria listo.
  • Si verificamos desde Xampp netstat o cualquier otra herramienta verificadora de puertos, no se mostraria nada ya que es un puerto en espera de una conexion. Se veria asi image

5) Configuracion de vscode xDebug.

  • Se añade la siguiente configuracion, para que pueda abrir ejecutarse sobre el puerto 9003
  • En el launch.json creamos una nueva configuracion con los siguientes parametros. { "name": "Server XDebug", "type": "php", "request": "launch", "hostname": "127.0.0.1", "port": 9003, "pathMappings": { "/home/user/public_html": "${workspaceFolder}/", }
  • Quedaria algo asi image
  • Se ejecuta el debug sobre la Server xDebug
  • Si se ejecuta el netstat se veria que el puerto estaria ejecutandose con Code.exe. Como se ve image
  • Se procede a probar y se verifica que funcione correctamente. image
@osoda
Copy link
Author

osoda commented Aug 30, 2022

Segunda parte, con configuración por dominio individual por medio de triggers

Para esto, se obvia la parte 3)

Seguimos los siguientes pasos.

2) Configuramos el php.ini en MultiPHP INI Editor

  • No manejamos el start_wihit_request, para que sea automaticamente en trigger.
  • [XDebug] xdebug.mode = debug xdebug.start_with_request = trigger xdebug.client_port = 9004 xdebug.client_host = 127.0.0.1
  • Quedaria asi:
    image

6) Se ejecuta por medio de una cookie en el navegador.

  • Hay que adicionar una cookie al navegador para que funcione el trigger, la cookie es: XDEBUG_TRIGGER

  • Entonces los paquetes se enviarían con esa cookie tal como la imagen.
    image

  • En vez de cookie, se puede de otra forma, ver documentación. https://xdebug.org/docs/all_settings#start_with_request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment