visual studio punto puede interrupción interrupcion form establecer debug code actualmente activará php eclipse xdebug

studio - xdebug php 5.6 3



xdebug no se detendrá en el punto de interrupción (19)

1- comprueba xdebug config en php.ini
2- eclipse-> proyecto-> propiedades-> phpDebug-> Habilitar configuración específica del proyecto

phpDebugger-> configurattion-> port o widndow-> preferences-> php-> debug-> installedDebuggers

3-widdow-> preferencia-> php->

Intérprete-> ejecutables de versión-> ruta a php-win.exe
punto: para cada debug lib (xdebug, zend_debugger, ...) puede tener un ejecutable php predeterminado.

4-Su servidor de aplicaciones funciona en diferentes puertos con 80. widndow-> preferences-> php-> servidores PHP

Pasé algunas horas para configurar mi IDE para depurar PHP con eclipse y xdebug. Todo está bien, excepto el punto de interrupción que establecí en eclipse. Si hago doble clic en una línea para agregar un punto de interrupción, el depurador no quiere detenerse. Si agrega la línea xdebug_break (), el depurador se detiene en la línea ...

Es tal vez un problema con la configuración. ¿Alguien podría ayudarme?

  • Eclipse: Eclipse PDT 2.2.0 Todo en uno Windows 32 bits
  • Xdebug: 5.3 VC6 (32 bit)
  • PHP: PHP versión 5.3.3

PHP.ini

[xdebug] xdebug.remote_enable=1 xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.remote_handler="dbgp" xdebug.remote_mode=req xdebug.profiler_enable = 1 xdebug.profiler_output_dir = "c:/temp" xdebug.collect_params = 4 xdebug.collect_return = on xdebug.collect_vars = on xdebug.show_local_vars = 1


Agrego el mismo problema en la versión de fedora 20 Heisenbug, php-ZendFramework2-Debug-2.3.9-1.fc20.noarch, php-pecl-xdebug-2.2.7-1.fc20.i686, y eclipse Versión: Mars.1 Lanzamiento (4.5.1). Utilicé las respuestas anteriores, descubrí que eclipse usa ipv6, cambié como se describe en eclipse.ini para -Djava.net.preferIPv4Stack=true . Lo mismo para xdebug.ini, y aún no funciona, hasta que descubrí que tenía 2 archivos xdebug.ini, uno en /etc/php-zts.d/ que es el incorrecto, y uno en /etc/php.d/ que es la utilizada por apache. Lo modifiqué para incluir la siguiente configuración

; Enable xdebug extension module zend_extension=xdebug.so xdebug.remote_enable=on xdebug.remote_host="127.0.0.1" xdebug.remote_port=9000 xdebug.remote_handler="dbgp" xdebug.remote_mode=req xdebug.remote_autostart=1 xdebug.idekey=

reinicié el sudo service network restart y ahora se detectan puntos de interrupción y puedo realizar la depuración como se esperaba.


Estaba teniendo el mismo problema, PDT iniciaría la sesión de depuración, incluso interrumpiría la primera línea de la secuencia de comandos y permitiría avanzar desde allí, pero correría felizmente a través de los puntos de interrupción manuales que había establecido si hacía clic en Reanudar. Después de juguetear con él y leer un montón de otras respuestas, lo arreglé.

Había intentado configurar un Mapa de Ruta (en la configuración del servidor PHP) ya que la ruta de mi proyecto y la del servidor web eran diferentes, pero esto no funcionaba por alguna razón, así que terminé agregando un alias a la configuración de apache para que coincida con la ubicación PDT estaba pidiendo. Sin embargo, no había eliminado esta configuración de mapa de ruta. Cuando quité el mapa de ruta, ¡los puntos de interrupción comenzaron a funcionar!

Probablemente sea un síntoma de que otra cosa no funciona correctamente (la configuración del mapa de ruta) pero los puntos de interrupción y la depuración están funcionando para mí ahora :)


Este problema se me apareció después de mover algunas de mis carpetas de proyectos locales. Podría hacer que xdebugger se rompa al principio del archivo, pero omitiría el resto de mis puntos de interrupción.

Si está utilizando Netbeans, verifique que su URL del proyecto (Propiedades del proyecto-> Ejecutar configuración) apunte a la ubicación correcta. Con la URL del proyecto apuntada a la carpeta correcta, los puntos de interrupción comienzan a funcionar como se espera.


Esto me ha estado molestando por cerca de 3 horas, solo lo resolví. Así que antes de poner una pistola en tu cabeza, intenta esto. Cuando se inicie Eclipse, elija un nuevo espacio de trabajo y configure su proyecto nuevamente.

Después de que hice esto, mis puntos de quiebre fueron alcanzados nuevamente Mis puntos de ruptura funcionaban bien, luego de repente dejaron de funcionar. Lo intenté:

  1. quitando todos los puntos de ruptura

  2. proyecto de limpieza

  3. re instalando eclipse

¡NINGUNO de los anteriores funcionó para mí!

Por cierto estoy usando la ventana 7.

Espero que esta información salve la vida de alguien!

Por cierto: aquí están los pasos a seguir para la configuración, centos 7 con xdebug y vmwere, con un cliente de Windows 7 con eclipse:

descargar vmwere

Descargue y configure vmwere con: CentOS-7-x86_64-Everything-1511.iso

desactivar el firewall

systemctl desactivar firewalld

systemctl stop firewalld

estado del sistema firewalld

conectarse a través de ftp

ifconfig para averiguar ip

ifconfig

eno16777736: flags = 4163 mtu 1500

inet 192.168.170.128 netmask 255.255.255.0 transmisión 192.168.170.255

inet6 fe80 :: 20c: 29ff: fec4: prefijo b8ca 64 scopeid 0x20

ether 00: 0c: 29: c4: b8: ca txqueuelen 1000 (Ethernet)

Paquetes RX 254 bytes 20919 (20.4 KiB)

Errores de RX 0 caídos 0 desbordamientos 0 marco 0

Paquetes TX 95 bytes 10225 (9.9 KiB)

Errores de TX 0 caídos 0 excedidos 0 portador 0 colisiones 0

192.168.170.128 es la ip

configurar la lámpara

rpm --importar / etc / pki / rpm-gpg / RPM-GPG-KEY *

yum -y instalar epel-release

yum -y instalar mariadb-server mariadb

systemctl start mariadb.service

systemctl habilitar mariadb.service

mysql_secure_installation

yum -y instalar httpd

systemctl start httpd.service

systemctl habilitar httpd.service

yum -y instalar php

servicio httpd reinicio

yum -y instalar php-mysql

yum -y instalar php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring

php-snmp php-soap rizo curl-devel

servicio httpd reinicio

yum instalar phpMyAdmin

En ventanas abiertas cmd, escriba ipconfig

encontrar

Adaptador Ethernet VMware Adaptador de red VMnet8:

Connection-specific DNS Suffix . : localdomain Link-local IPv6 Address . . . . . : fe80::94b8:9e5c:c772:3d47%19 IPv4 Address. . . . . . . . . . . : 192.168.170.1 [ this is the widnows ip to allow ] Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway .

en el cambio de /etc/httpd/conf.d/phpMyAdmin.conf:

AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require ip 127.0.0.1 Require ip ::1 </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule>

a:

AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require ip 127.0.0.1 Require ip ::1 </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require ip [ WINDOWS IP TO ALLOW GOES HERE ] Require ip ::1 </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from [ WINDOWS IP TO ALLOW GOES HERE ] Allow from ::1 </IfModule>

servicio httpd reinicio

cambie $ cfg [''Servidores''] [$ i] [''auth_type''] = ''cookie''; a $ cfg [''Servidores''] [$ i] [''auth_type''] = ''http'';

servicio httpd reinicio

/ etc / selinux / config cambio

Este archivo controla el estado de SELinux en el sistema.

SELINUX = puede tomar uno de estos tres valores:

hacer cumplir: se aplica la política de seguridad de SELinux.

permisivo: SELinux imprime advertencias en lugar de hacer cumplir.

deshabilitado - No se carga ninguna política de SELinux.

SELINUX = hacer cumplir

SELINUXTYPE = puede tomar uno de tres dos valores:

dirigido - Los procesos dirigidos están protegidos,

Mínimo - Modificación de la política dirigida. Sólo los procesos seleccionados están protegidos.

mls - Protección de seguridad multinivel.

SELINUXTYPE = apuntado

a

Este archivo controla el estado de SELinux en el sistema.

SELINUX = puede tomar uno de estos tres valores:

hacer cumplir: se aplica la política de seguridad de SELinux.

permisivo: SELinux imprime advertencias en lugar de hacer cumplir.

deshabilitado - No se carga ninguna política de SELinux.

SELINUX = deshabilitado

SELINUXTYPE = puede tomar uno de tres dos valores:

dirigido - Los procesos dirigidos están protegidos,

Mínimo - Modificación de la política dirigida. Sólo los procesos seleccionados están protegidos.

mls - Protección de seguridad multinivel.

SELINUXTYPE = apuntado

reinicie centos

EN WINDOWS POINT BROWSER TO: http://192.168.170.128/phpmyadmin , debería estar bien

Copie el sitio web a: / var / www / html / [NOMBRE DEL SITIO WEB]

chmod -R 777 html

en etc / httpd / add (esto permite que los enlaces permanentes funcionen con el nombre de la publicación)

Opciones de FollowSymLinks

AllowOverride All

Orden permitir, negar

Permitir de todos

yum install php-devel (para permitir pipsize)

haga un archivo php con: y cópielo a la raíz del sitio web, ejecútelo y copie el htl en https://xdebug.org/wizard.php luego haga clic en el botón de fuente de análisis

https://xdebug.org/wizard.php dará instrucciones como esta: (síguelas)

...... Descargar xdebug-2.4.1.tgz

  • Descomprima el archivo descargado con tar -xvzf xdebug-2.4.1.tgz

  • Ejecutar: cd xdebug-2.4.1

  • Ejecute: phpize (vea las preguntas frecuentes si no tiene phpize).

  • Ejecutar: ./configure

  • Correr: hacer

  • Ejecute: cp modules / xdebug.so / usr / lib64 / php / modules

  • Edita /etc/php.ini y agrega las líneas

  • zend_extension = /usr/lib64/php/modules/xdebug.so

  • xdebug.remote_enable = On

  • xdebug.remote_host = 192.168.170.1

  • xdebug.remote_port = 9000

  • xdebug.remote_handler = dbgp

..... servicio httpd restart

ejecute el archivo y debería ver una sección de XDebug, si es así, ¡el servidor está listo para funcionar!

Descargar Eclipse Neon

Archivo> Abrir proyectos desde el sistema de archivos

Terminar (y esperar)

Preferencias de ventana> php> servidores> nuevo

  • Pestaña servidor

    • Nombre del servidor [lo que quieras]

    • URL base [IP o nombre de su servidor]

    • Document Root [La ubicación en su disco duro donde está todo el código, debe ser la misma que la que tiene en el servidor]

    Pestaña del depurador

    • Depurador: Xdebug

    • puerto: 9000

    Pestaña Mapeo del Servidor (click add)

    • Ruta en el servidor: [la ruta completa a su sitio web] EG: / var / www / html / website

    • Ruta en el espacio de trabajo [encuentre el proyecto que agregó: abra proyectos desde el sistema de archivos]

Vaya a la ventana principal de Eclipse> haga clic en la flecha desplegable junto al icono de error> depurar configuraciones

  • Pestaña servidor

    • Archivo: [este debe ser el primer archivo en su proyecto local que se ejecutará cuando se abra la aplicación]

    • URL: desactiva la generación automática: desmarca

      • Primer cuadro de texto de la URL: [La IP o el nombre de su servidor donde se ejecuta el sitio web]

      • Segundo cuadro de texto de la URL: [Si su sitio web no está en el directorio raíz, el directorio donde se encuentra aquí]

  • Pestaña común

    • Mostrar en el menú de favoritos

      • Haga clic en Depurar (casilla de verificación)

ventana> prespectivo> abierto prespectivo> php

Ponga un punto de ruptura en el archivo php que sea golpeado primero (haciendo clic en la barra de desplazamiento vertical en una línea de código)

Finalmente, haga clic en el ícono de depuración en el eclipse, y su punto de ruptura debería ser golpeado (la línea de código con el punto de ruptura se pondrá verde)

Abre Centos 7 en Vemware para el mundo

Cambiar la configuración de red de VMeere a puenteado

Agregue una regla al enrutador para trasladar cualquier tráfico a la IP vmweare en la que se está ejecutando cetnos

Agregue una regla de entrada al servidor de seguridad de viudas que permita http

PD: no tengo tiempo para ver a mi gammer y hablar, lidiar con eso


Estoy en las ventanas, eclipse de oxígeno. Después de pasar una buena cantidad de tiempo, descubrí que la simple eliminación y recreación de la Debug Configuration de Debug Configuration ayudaron.


He arreglado esto también Usando zend_extension en lugar de extensión.

zend_extension_ts="C:/xampp/php/ext/php_xdebug.dll"


He tenido un problema similar con Eclipse PDT y Xdebug. La causa fue que Eclipse estaba escuchando a través de IPv6 pero Xdebug intentó conectarse a través de IPv4:

chriki@machine:~$ netstat -an | grep 9000 tcp6 0 0 :::9000 :::* LISTEN

Xdebug no parece soportar IPv6 , todavía.

Después de agregar la línea

-Djava.net.preferIPv4Stack=true

después de la línea -vmargs en mi archivo eclipse.ini , Eclipse comenzó a escuchar a través de IPv4:

chriki@machine:~$ netstat -an | grep 9000 tcp 0 0 0.0.0.0:9000 0.0.0.0:* LISTEN

La depuración ahora funciona perfectamente.


Me he arreglado el problema.

En mi php.ini, he agregado el xdebug como una extensión en lugar de un zend_extension.

php.ini

zend_extension=C:/EasyPHP-5.3.3/php/ext/php_xdebug.dll

Nota: la ruta debe ser la ruta completa en lugar de una ruta relativa.

El depurador funciona muy bien. ¡Sabroso!


Para mí, el problema parecía php 7.2 con Xdebug v2.7.0beta2-dev, note la parte beta . Esto se instaló utilizando puphpet.com. Probé PHP 7.1 y el problema desapareció. ¡Me tomó horas para encontrar esto!


Parece que hay varios problemas que podrían ser la raíz de este problema. En mi caso, fue el hecho de que pensé que necesitaba establecer algunos mapas de ruta.

Los ajustes encontrados en
rightclick-project->properties->PHP Debug
y entonces
server->edit->path mapping
estaban equivocados.

Yo había agregado manualmente algo que pensé que era correcto, pero Eclipse puede hacer todo esto por sí mismo que parece. Eliminar el mapeo lo hizo funcionar.


Si está utilizando Eclipse, es posible que el depurador configurado para un lanzamiento específico (vea la pestaña Depurador) sea el Depurador de Zend y NO XDebug. Arregla el inicio de tu depuración y vuelve a intentarlo. Eso me solucionó el problema.

Lamentablemente no puedo publicar la captura de pantalla. Sin embargo, en Eclipse, puede ir a: Debug Configurations> PHP Web Application> luego seleccione su inicio> Debugger Tab> use el menú desplegable Server Debugger para seleccionar XDebug> presione el botón Aplicar y vuelva a intentarlo.


Si xdebug no se detiene en ninguna parte de su código, agregue xdebug_break() a esta parte del código.


Solo para mencionar la solución simple para mí, cuando mi xdebug recién instalado y configurado no funcionó con PhpStorm: simplemente olvidé reiniciar Apache después de actualizar el archivo php.ini.


Tuve el mismo problema con eclipse-php-oxygen El problema radica en eclipse. He instalado eclipse-php-luna-SR2-win32 y he probado xdebug y funciona bien.

Instalado: xampp-win32-7.0.30-0-VC14-installer.exe Java 8 Update 171

Los siguientes son mis ajustes en php.ini:

[XDebug] zend_extension = C:/xampp/php/ext/php_xdebug-2.6.0-7.0-vc14.dll ;zend_extension = C:/xampp/php/ext/php_xdebug-2.5.5-7.0-vc14.dll ;zend_extension = "c:/xampp/php/ext/php_xdebug-2.6.0-7.2-vc15.dll" xdebug.remote_autostart = 1 xdebug.profiler_append = 0 xdebug.profiler_enable = 0 xdebug.profiler_enable_trigger = 0 xdebug.profiler_output_dir = "c:/xampp/tmp" ;xdebug.profiler_output_name = "cachegrind.out.%t-%s" xdebug.remote_enable = 1 xdebug.remote_handler = "dbgp" xdebug.remote_host = "127.0.0.1" xdebug.remote_log = "c:/xampp/tmp/xdebug.txt" xdebug.remote_port = 9000 xdebug.trace_output_dir = "c:/xampp/tmp" ;36000 = 10h xdebug.remote_cookie_expire_time = 36000

Espero que esto sea de ayuda.

Br, Ali


Tuve el mismo problema durante días (!) Desde que me di cuenta de que el problema era el más trivial.

Configuración:

  • (Windows 7 Host)
  • Ubuntu 12.04 en VirtualBox Machine
  • LAMP instalado manualmente
  • Eclipse Indigo + PDT
  • php5-xdebug

/etc/php5/apache2/php.ini

[XDebug] zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so" xdebug.remote_enable=true xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.remote_handler=dbgp xdebug.profiler_output_dir=/tmp

El depurador no se detuvo en los puntos de interrupción y tampoco en xdebug_break();

... se debió a los permisos /var/www la carpeta predeterminada Apache DocumentRoot

Lo cambié a /home/user/Documents/www .


Tuve el mismo problema y una de dos cosas lo solucionó ...

Eliminé una definición de zend_extension duplicada en mi PHP.ini

o más probablemente acabo de actualizar a la última versión de xdebug desde aquí: http://xdebug.org/download.php

(Estaba ejecutando xdebug que venía con XAMPP v1.7.1)

Esto comenzó de nuevo ... probé todas las versiones diferentes de archivos xdebug dlls, etc ... resultó que lo que estaba causando que esto no funcionara era tener la ventana de Expresiones abierta ... así que mantenla cerrada cuando debug cosas ... puedes agregue un reloj temporalmente y luego cierre la ventana de Expresiones antes de "pasar" ...

falso...


Yo tuve el mismo problema. La solución es abrir el archivo correcto y agregar un punto de interrupción en él.

Mi servidor local está en mi unidad virtual Z: (Estoy usando denwer en lugar de WAMP). La unidad Z apunta a mi carpeta D: / webserver. Entonces puedo abrir mi archivo como 1) Z: /myproject/script.php y como 2) D: /webserver/myproject/script.php

Por algunas razones, el depurador se detiene en los puntos de interrupción solo en el archivo Z: /myproject/script.php abierto .

¿Cómo probar mi solución? Has el siguiente:

  1. Abre cualquier archivo php que quieras depurar
  2. Agregue xdebug_break() a cualquier línea y guarde el archivo
  3. Ejecutar depuración

En mi caso, después de que el proceso de depuración haya iniciado mi archivo phpDesigner IDE, abra el archivo correcto en IDE y se detenga en la línea xdebug_break (). Así que en este nuevo archivo abierto puede agregar puntos de interrupción y funcionarán. Utilice el archivo abierto para la depuración.


Respuesta rápida: elimine todos los espacios en blanco en la ruta a su script php.

Contexto:
Hay un error en la versión 3.7.0 del complemento PDT que evita que el depurador se detenga en los puntos de interrupción.
¡Y sucede cuando el camino a su script contiene un espacio en blanco!
Se ha corregido, pero supongo que la versión de destino, que es 4.0.0, aún no se ha lanzado.
El comentario que me salvó el día está en https://bugs.eclipse.org/bugs/show_bug.cgi?id=489646#c7 ("Comentario 7").