我是靠谱客的博主 外向天空,最近开发中收集的这篇文章主要介绍phpstorm + Xshell隧道 + xdebug 远程调试云主机生产环境的php1、Windows下使用Xshell创建隧道2、云主机安装xdebug扩展3、PHPStorm配置远程编码4、PHPStorm配置远程调试,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

phpstorm + Xshell隧道 + xdebug 远程调试云主机生产环境的php

  • 1、Windows下使用Xshell创建隧道
    • 1.1、新建会话
    • 1.2不分配终端
    • 1.3添加一个远程(R)隧道
    • 1.4输入日志
    • 1.5修改云主机ssh配置
    • 1.6ssh隧道连接
    • 1.7查看云主机 9090端口状态
  • 2、云主机安装xdebug扩展
    • 2.1重启PHP
    • 2.2检查云主机上xdebug是否正确安装
  • 3、PHPStorm配置远程编码
  • 4、PHPStorm配置远程调试

1、Windows下使用Xshell创建隧道

为了把阿里云主机上的9090端口的数据转发到本地无固定IP的Windows开发环境,我们使用Xshell,创建一个ssh隧道在ssh连接上建立加密通道,进行云主机9090端口数据的转发。
ssh隧道有三种:本地(L)、远程(R)和动态(D),我们场景需要使用的是远程(R)ssh隧道。

下面我们打开Xshell来创建隧道,步骤如下

1.1、新建会话

我们新建一个会话,填好名称、主机信息。注意:勾选连接异常关闭时自动重新连接,间隔可自己设置,这里是60秒
在这里插入图片描述

1.2不分配终端

为安全起见,服务器上用于建立隧道的用户,可以被被设置为不允许通过Shell登录的。如果设置了,那我们需要设置Xshell在进行SHH连接时不分配终端。
在这里插入图片描述

1.3添加一个远程(R)隧道

我们添加一个远程(R)隧道,则将云服务器的9090端口,映射到localhost:9090端口,从而达到将云服务器9090端口的数据转发到本地xdebug对应的9090端口的目的。
在这里插入图片描述

1.4输入日志

为了能了隧道的运行情况,我们设置Xshell输出隧道相关的日志。
在这里插入图片描述
到这里,Xshell创建隧道就快结束了。

1.5修改云主机ssh配置

在/etc/ssh/sshd_config中设置GatewayPorts yes

vi /etc/ssh/sshd_config

设置:

#GatewayPorts no
GatewayPorts yes

保存后重启ssh服务

systemctl restart sshd.service

1.6ssh隧道连接

这时,我们可以进行连接创建ssh隧道,输出信息如下:

Xshell 6 (Build 1326)
Copyright (c) 2002-2017 NetSarang Computer, Inc. All rights reserved.

Type `help' to learn how to use Xshell prompt.
[c:~]$ 

Connecting to 121.196.166.166:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
[13:31:07] 		Outgoing packet message id: 20, length: 1403
[13:31:07] 		Incoming packet message id: 20
[13:31:07] 		Outgoing packet message id: 30, length: 37
[13:31:07] 		Incoming packet message id: 31
[13:31:07] 		Outgoing packet message id: 21, length: 1
[13:31:07] 		Incoming packet message id: 21
[13:31:07] 		Outgoing packet message id: 5, length: 17
[13:31:07] 		Incoming packet message id: 6
[13:31:07] 		Outgoing packet message id: 50, length: 35
[13:31:07] 		Incoming packet message id: 51
[13:31:07] 		Outgoing packet message id: 50, length: 55
[13:31:07] 		Incoming packet message id: 52
[13:31:07] 		Outgoing packet message id: 80, length: 42
[13:31:07] 		Incoming packet message id: 80
[13:31:07] 		Incoming packet message id: 4
[13:31:07] 		Incoming packet message id: 81
[13:31:07] Trying to listen remote port 9090... Success.

1.7查看云主机 9090端口状态

netstat -lnpt |grep 9090
tcp        0      0 0.0.0.0:9090            0.0.0.0:*               LISTEN      6094/sshd: root     

我们的ssh隧道就创建好了。

2、云主机安装xdebug扩展

我们使用宝塔面板安装xdebug扩展。
在这里插入图片描述

我们对xdebug进行配置,和开发环境一致。

[Xdebug]
xdebug.collect_params=1
xdebug.collect_return=1
xdebug.auto_trace=On
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.remote_host = "localhost"
xdebug.remote_port=9090
xdebug.remote_handler="dbgp"
xdebug.profiler_append = 0
xdebug.remote_enable=On
xdebug.idekey=phpstorm-xdebug

在这里插入图片描述

2.1重启PHP

在这里插入图片描述

2.2检查云主机上xdebug是否正确安装

我们通过phpinfo()来检查xdebug是否正确安装

<?php
phpinfo();
?>

3、PHPStorm配置远程编码

大家可以参考《 阿里云centos搭建ftp+Phpstorm配置文件夹映射到云服务器进行远程编码》。

4、PHPStorm配置远程调试

现在,我们就可以像配置本地高度环境一样来配置远程调试环境。
大家可以参考《 PhpStorm2020 + phpstudyV8 +XDebug》。

最后

以上就是外向天空为你收集整理的phpstorm + Xshell隧道 + xdebug 远程调试云主机生产环境的php1、Windows下使用Xshell创建隧道2、云主机安装xdebug扩展3、PHPStorm配置远程编码4、PHPStorm配置远程调试的全部内容,希望文章能够帮你解决phpstorm + Xshell隧道 + xdebug 远程调试云主机生产环境的php1、Windows下使用Xshell创建隧道2、云主机安装xdebug扩展3、PHPStorm配置远程编码4、PHPStorm配置远程调试所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部