使用xdebug在Linux上的docker容器中进行eclipse pdt调试

时间:2017-05-24 21:14:17

标签: eclipse xdebug eclipse-pdt

我有一个配置了apache2,php7和xdebug的docker容器。

我在容器中运行了以下脚本,以确认可以从包含?XDEBUG_START_SESSION = mySession的请求网址远程触发xdebug。当我请求附加了附加字符串的php文件时,以下脚本完成显示连接已被接受,因此xdebug似乎被成功触发。

$address = "127.0.0.1";
$port = 9000;
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
if ($sock === false) {
    echo "Socket connection failed...  ";
    $lastError = socket_last_error();
    echo  socket_strerror($lastError);
} else {
    echo "Socket connection made...  ";
    $bindResult = socket_bind($sock, $address, $port);
    if ($bindResult) {
        echo "Bind was successful...  ";
        $listenResult = socket_listen($sock);
        if ($listenResult) {
            echo "Socket is listening...  ";
            $client = socket_accept($sock);
            if ($client === false) {
                echo "Accept failed...  ";
                $lastError = socket_last_error();
                echo  socket_strerror($lastError);              
            } else {
                echo "Connection accepted...  ";
                echo "connection established: $client";
                socket_close($client);
            }
        } else {
            echo "Listening failed... ";
            $lastError = socket_last_error();
            echo  socket_strerror($lastError);
        }
    } else {
        echo "Bind failed";
        $lastError = socket_last_error();
        echo  socket_strerror($lastError);
    }
    socket_close($sock);
}

现在我尝试使用eclipse neon.3运行手动启动的调试会话,它似乎挂起了eclipse显示启动file.php的状态:(48%)

任何关于尝试使用xdebug进行eclipse的想法都将非常感激。

xdebug的.ini设置为:

xdebug.profiler_enable_trigger = 1
xdebug.trace_enable_trigger = 1
xdebug.remote_enable=1
xdebug.remote_host="172.18.0.1"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"

远程主机地址是通过观察容器的phpinfo()上的REMOTE_ADDR条目获得的。

0 个答案:

没有答案