`

【转】Connecting Zend Studio to Zend Debugger over an SSH Tunnel

阅读更多

      之前在Zend Studio 9中使用Zend Debugger进行远程调试时遇到一些问题,在Google时,

找到了下面这篇文章,是对SSH Tunnel连接Zend Debugger的介绍,很有用处.在此转贴.

      Connecting Zend Studio to Zend Debugger over an SSH Tunnel

 

This article applies to:

 

[ Zend Studio 7.x, Zend Studio for Eclipse 6.x ]
[ All operating systems ]


Overview

Normally, Zend Studio initiates the remote debugging session by sending a regular HTTP request to the debug server. This HTTP request contains return address parameters (IP address and port number) that the Zend Debugger uses when starting a new connection to Zend Studio in order to relay debugging information.

Regular debug session

In many environments, it may be the case that the debugging session is prevented by some network obstacles (firewalls, routers, proxy servers, etc.). To allow safe and effective bypassing of network obstructions you can setup an SSH Tunnel for remote debugging with Zend Studio. In this case, the process of establishing the debug session consists of two major steps:

  • Creating an SSH Tunnel
  • Instructing Zend Debugger to relay its traffic through the SSH Tunnel

To setup an SSH Tunnel you need first to tell the SSH daemon to open a listening port on the server and forward the traffic from this port to the port on your workstation, where Zend Studio is listening. Once this is done you need to instruct Zend Debugger to send the debug information not to the Zend Studio workstation directly, but through the created tunnel.

Debug session trough the SSH Tunnel

Note
Since Zend Studio opens the listening port 10137 for establishing the debug sessions by default, we use this port number in our examples. If for some reason you are using a different port, make the necessary changes to adapt our instructions to your situation.

Instructions

Creating an SSH Tunnel

To create an SSH Tunnel from a Linux and Mac OS X workstation use this command template:
ssh <Zend Studio listening port>:127.0.0.1:<port to open on the debug server> <user>@<debug server address>

For example:

user@workstation:~> ssh -R 10137:127.0.0.1:10137 user@debugserver
user@debugserver's password: <enter user's password on the debug server>
Welcome to the Debug Server!

user@debugserver:~$

To create an SSH Tunnel from a Microsoft Windows workstation, you can use PuTTY. Run the program and configure it as described below:

  1. From the Category list choose Connection | SSH | Tunnels.
    This will display the Options controlling SSH port forwarding page.
  2. In the Source port field enter "10137".
  3. In the Destination field enter "127.0.0.1:10137".
  4. From the options below select Remote.
  5. Click Add.
    This will add the configuration to the Forwarde ports list.

  1. From the Category list choose Session.
    This will display the Basic options for your PuTTY session page.
  2. In the Host Name field enter the name or the IP address of the debug server (you may use the "user@host" notation as well).
  3. In the Saved Sessions field enter a descriptive name.
  4. Click Save.
    This will add the newly configured session to the Saved Sessions list where you can easily re-use it.

  1. Click Open to create the SSH Tunnel connection to the debug server.
  2. Enter the user name and password at relevant prompts.
login as: user
Using keyboard-interactive authentication.
Password: <enter user's password on the debug server>
Welcome to the Debug Server!

user@debugserver:~$

Instructing Zend Debugger to Relay Its Traffic Through the SSH Tunnel

  1. In Zend Studio go to Window | Preferences.
    This opens the Preferences page.
  2. Navigate to the page PHP | Debug | Installed Debuggers.
  3. Select Zend Debugger and click Configure.
    This opens the Zend Debugger configuration dialog.
  4. Verify that the field Client Host/IP contains the loopback address 127.0.0.1.

Note
If you are planning to debug your applications only via the SSH Tunnel, it is recommended to remove all IP addresses except the loopback address 127.0.0.1 in the Client Host/IP field. This may significantly improve the performance of the debug session.

Result

You should be able to verify that the SSH Tunnel is open in the remote shell session after the connection. Issue the following command to see that the SSH deamon is listening on the local port 10137:

user@debugserver:~$ netstat -tln | grep :10137
tcp        0      0 127.0.0.1:10137         0.0.0.0:*               LISTEN
tcp6       0      0 ::1:10137               :::*                    LISTEN

The ultimate proof that your setup is correct is the possibility to start and conduct a remote debugging session.

分享到:
评论

相关推荐

    Windows SSH服务器软件freeSSHd

    **SSH(Secure Shell)**是一种网络协议,用于在不安全的网络环境中提供安全的远程登录和其他服务。在Windows操作系统上,SSH服务器软件是实现这一功能的关键工具,它允许用户通过命令行界面远程管理服务器,传输...

    ZendFramework中文文档

    1. Introduction to Zend Framework 1.1. 概述 1.2. 安装 2. Zend_Acl 2.1. 简介 2.1.1. 关于资源(Resource) 2.1.2. 关于角色(Role) 2.1.3. 创建访问控制列表(ACL) 2.1.4. 注册角色(Role) 2.1.5. 定义访问...

    精心整理的ssh2 一些错误问题的记录(推荐)

    在IT领域,特别是针对网络管理和远程访问技术,SSH(Secure Shell)协议是不可或缺的一部分,它为数据通信提供了安全的加密通道。然而,在实际操作中,尤其是使用ssh2库时,可能会遇到各种各样的错误和异常情况。...

    Connecting the Atmel ARM-based SSC to an I2S-compatible Serial Bus

    标题和描述中提到的知识点,首先是关于“ARM-based Serial Synchronous Controller (SSC)”,ARM是一种广泛应用于嵌入式系统的处理器架构,而SSC则是一种同步串行控制器,它能够在许多基于ARM的系统中找到。...

    Connecting HTML Help to C++/MFC Programs

    本文档主要针对的是使用Visual Studio 6进行开发的情况,虽然如此,Microsoft Foundation Classes (MFC) 提供了多个钩子接口,使得开发者能够轻松地与任何形式的在线帮助系统(包括HTML帮助)进行集成。此外,通过...

    Failed to log into NFC Server

    For more information, see Connecting to an ESX host using an SSH client (1019852). 2.Take a backup of the /etc/vmware/config file using this command: cp /etc/vmware/config /var/tmp/ 3. Edit the /...

    Mobile Tutorial_ Connecting to an Enterprise Database from a Mobile Client (iOS and Android) - RAD Studio.pdf

    本教程主要讲述了如何在iOS和Android移动客户端应用程序中连接到企业数据库,使用RAD Studio平台进行开发。移动应用程序开发通常涉及多层架构,其中客户端通过中间层访问企业数据库。这种方法特别适用于移动设备,...

    ssh协议依赖jar包:ganymed-ssh2-build

    SSH(Secure Shell)协议是一种网络协议,用于在不安全的网络上提供安全的远程登录和其他服务。在Java环境中,开发人员通常使用库来实现SSH功能,其中一个常用的库就是Ganymed SSH-2。这个库名为ganymed-ssh2-build...

    Java(通过ganymed-ssh2-build210.jar)实现SSH远程连接linux终端

    Java通过ganymed-ssh2-build210.jar库实现SSH远程连接Linux终端是一个常见的应用场景,主要用于自动化运维、系统管理或者开发过程中需要与Linux服务器交互的场景。ganymed-ssh2-build210.jar是Java的一个开源SSH库,...

    ganymed-ssh2 远程连接java实例代码

    Ganymed SSH-2 for Java是用纯Java实现SSH-2协议的一个包。可以利用它直接在Java程序中连接SSH服务器。Ganymed SSH-2支持SSH对话(远程命令执行和shell访问),本地和远程端口转发,本地数据流转发,X11转发和SCP。这些...

    ganymed-ssh2-build210

    ganymed-ssh2-build210 jar包 java连接ssh远程主机 Ganymed SSH-2 for Java是用纯Java实现SSH-2协议的一个包。可以利用它直接在Java程序中连接SSH服务器。官网地址为 http://www.ganymed.ethz.ch/ssh2/ 可以看到最后...

    SSH客户端操作Linux

    1、查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号。使用ssh -V命令可以得到版本号。需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用OpenSSH: $ ssh -V OpenSSH_...

    traceroute 服务器路由信息

    Connecting to 222.73.218.96:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. Last login: Tue Oct 30 17:09:29 2012 from 114.221.117.202 [root@S2-PC ~]# ifconfig eth0 Link ...

    studio3T mongodb可视化工具

    studio3T mongodb可视化工具,对nosql的可视化操作,nosql查询等

    藏经阁-Scaling Spark applications by connecting code to resource co

    藏经阁-Scaling Spark applications by connecting code to resource co

    ssh unix SSHSecureShellClient

    it is very good tool for connecting to UNIX to execute code or upload or download file.

    Connecting-the-CE-5.0-emulator-to-VS2005.rar_How to Connect

    标题中的“Connecting-the-CE-5.0-emulator-to-VS2005”指的是将Windows CE 5.0的模拟器与Visual Studio 2005进行连接的教程。这个过程对于开发者来说至关重要,因为它允许他们在Visual Studio的集成开发环境中(IDE...

    Connecting Xcelsius Dashboards to External Data Sources using Excel 2003

    ### 连接Xcelsius仪表板到外部数据源使用Excel 2003 #### 前提条件 为了能够充分利用这份技术指南,读者应当具备以下技术和术语的基础理解: 1. **Excel**: 需要了解如何在Excel中导航及创建公式的基本能力。...

    A minimal Python library for Apache Arrow, connecting to the Rus

    A minimal Python library for Apache Arrow, connecting to the Rust arrow crate

Global site tag (gtag.js) - Google Analytics