Esperando conexión (netbeans-xdebug) MAMP OS X

Preámbulo

Después de muchas horas, no he podido hacer que NetBeans se conecte a xdebug. Hace algunos meses, después de actualizar una versión anterior de MAMP a MAMP PRO, la depuración funcionó a la perfección. Hace una semana empezó a hacerse flakey. Parece que se conecta pero no se detiene en los puntos de interrupción. Al reiniciar NetBeans (v7.0.1) y apache, algunas veces funcionó por un corto tiempo.

Realmente lo necesitaba reparado, así que instalé la última versión de MAMP PRO (2.1.2). Ahora recibo el mensaje Esperando conexión para siempre.

Pruebas que he hecho

Mientras el mensaje de espera de conexión está allí con la barra móvil, miro para ver si está escuchando. Es...

# lsof -i -n -P |grep 9001
java  6496  tim  230u  IPv6 0xffffff80239d8190      0t0    TCP *:9001 (LISTEN)

En NetBeans php config tengo el intérprete configurado para: /Aplicaciones/MAMP/bin/php/php5.4.10/bin/php

Ejecutando lo siguiente:

# /Applications/MAMP/bin/php/php5.4.10/bin/php -i | grep xdebug

me dice que xdebug se está ejecutando al igual que phpinfo ()

He confirmado (muchas veces) que tengo el mismo número de puerto en todas partes. He intentado el puerto 9000 y 9001.

Haciendo una cola enxdebug.log luego, iniciar una sesión desde el navegador sin iniciar una sesión de depuración en NetBeans produce:

I: Connecting to configured address/port: localhost:9001.
E: Could not connect to client. :-(

Con el mensaje de conexión en espera.y iniciando una sesión desde el navegador, obtengo esto en el registro:

: Connecting to configured address/port: localhost:9001.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///Users/tim/MAMPSites/facts.tvd.us/htdocs/sendfile/tim.php" language="PHP" protocol_version="1.0" appid="7279" idekey="netbeans-xdebug"><engine version="2.2.1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2012 by Derick Rethans]]></copyright></init>

-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>

Mi archivo php.ini tiene lo siguiente:

[xdebug]
zend_extension="/Applications/MAMP/bin/php/php5.3.20/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
xdebug.remote_enable=on
xdebug.remote_log="/var/log/xdebug.log"
xdebug.remote_host=localhost
xdebug.remote_handler=dbgp
xdebug.remote_port=9001
xdebug.idekey="netbeans-xdebug"

Actualizar

Acabo de notar que el comando lsof anterior muestra NetBeans escuchando en ipV6. Forzar a java (NetBeans) a usar ipV4 no ayuda.

launchctl setenv JAVA_TOOL_OPTIONS -Djava.net.preferIPv4Stack=true

Encontré una publicación que sugería que una prueba para confirmar que xdebug está funcionando correctamente. Crear un archivo php:

<?php
$address = '127.0.0.1';
$port = 9000;
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($sock, $address, $port) or die('Unable to bind');
socket_listen($sock);
$client = socket_accept($sock);
echo "connection established: $client";
socket_close($client);
socket_close($sock);
?>

Ejecútelo desde la línea de comandos y cargue cualquier página en su navegador con lo siguiente al final de la url:

?XDEBUG_SESSION_START=nb

Si genera algo como "conexión establecida: ID de recurso # 5", xdebug está funcionando correctamente. Con eso, reinstalé Java y NetBeans. Le dije a NetBeans que NO importara mis preferencias existentes ... Aún no hay conexión.

Actualización2

Instalé el phpStorm IDE para Mac. Aprendí lo suficiente como para ejecutar el depurador con mi configuración de MAMP y xdebug existente. Creo que esto confirma que el problema es con NetBeans.

En este punto, conseguir este trabajo parece imposible. :(

Respuestas a la pregunta(4)

Su respuesta a la pregunta