Linux内网服务器+宝塔+Xdebug远程调试配置

发布于 2021-07-04  630 次阅读


前言

最近想审计一些代码,看到自己本地环境里面乱糟糟的,很多源码杂七乱八,这对我一个文件洁癖的人来说,简直是折磨,并且在本地配置网站,装环境进行管理很不方便,所以我理所应当的想到了宝塔面版。我的思路很简单,就是建一个Linux虚拟机然后安装宝塔面版,结合Xdebug去调试代码,通过phpstorm的SFTP功能实现同步内网服务器代码。

环境准备

VMware安装一个Linux系统,本人使用的CentOS7,安装之后记得安装sshd服务并关闭防火墙

安装宝塔面版,一条命令就可以安装,很简单,请看https://www.bt.cn/download/linux.html

如果已经安装了宝塔面版,安装Nginx,php各个版本,MySQL,phpmyadmin都是一键安装

接下来安装Xdebug,打开软件商店->需要安装xdebug的php版本->设置->安装扩展->Xdebug点一下安装即可自动编译安装

安装成功之后,这里会显示卸载

接下来再点击配置文件,会打开php.ini这个文件,然后在末尾加上以下这些配置并点击保存

[XDebug]
; 允许远程 可以为 On 或者 1 都表示启用 , Off 和 0 表示关闭关闭
xdebug.remote_enable = 1
; 远程主机的 IP 这里我们填写,固定的 127.0.0.1 这里写的是PHPSTORM所在的那台机器上的IP
xdebug.remote_host = 127.0.0.1
; 调试连接端口 请记住这个端口,后续会用到。此配置项默认值为 9000 ,但是通常 9000 端口被 fpm 占据 ,故更换端口。
; 另外,请在你服务器的控制面板和服务器防火墙中开放这个端口的进出站。
; 如果你是宝塔面板用户 请放行此端口。
xdebug.remote_port = 9001
; 接下来的值都是可选的,但是我推荐你使用
; 连接 IDE 的 Key,请记住他,可以自己自定义,主要用来过滤请求。
xdebug.idekey=PHPSTORM

记得在宝塔里面放行Xdebug的端口,这点很重要,在安全选项卡中写上端口和备注即可

phpstorm+Xdebug配置

配置好Linux服务端之后,接下来就要配置phpstorm了,首先要先让phpstorm连接上服务器

在工具选项卡中找到部署然后选择配置(因为上次解决某个问题的时候直接把IDE给汉化了,所以我这里是中文,各位大佬将就的看看吧)

在这里点击窗口左上角的加号,然后类型选择STFP,配置你的SSH账号密码和根路径,如果和我一样是宝塔的话,设置www就好,最后点一下测试连接看看能不能正常进行连接

配置好SSH之后不要着急点确定,因为还有一个很重要的东西需要配置,就是文件映射,文件映射必须要保证远程服务器上的项目文件和本地的项目文件是一模一样的。Web路径就默认 / 就好了

点击上面的工具选项卡,部署勾选自动上传,这样就实现了文件同步,每次你修改保存文件的时候,你服务器上所在的哪个文件也会别一起修改,点击下载选项可以使服务器上的文件覆盖本地的项目文件,上传刚好相反

接下来修改远程解释器,PHP语言级别选择你当前服务器上使用的php语言版本

选择CLI解释器之后,选择你的ssh配置就好,php可执行文件一般都是在usr/bin/php这个目录下面,最后点击确定即可

然后接下来配置Xdebug,调试端口和php.ini里面设置的一致就可以,我这里设置的9001

再点左边选项卡的服务器选项卡,配置你的项目以及路径映射,主机可以写ip也可以写绑定的域名,端口写Web服务开放的端口,调试器选Xdebug,后面有个服务器上的绝对路径要自己手打上去,和上面一样,要保证本地项目文件和服务器上的项目文件要一致

最后一步,点击右上角的编辑配置

还是点击左上角的加号,点添加php页面(英文可能是 php Applications)服务器选择上面新建的哪个,然后点击确定

配置完成,接下来就可以加上断点点击右上角的哪个小虫子图标来进行Xdebug远程调试了