phpstorm配置xdebug进行远程调试

  • Post author:
  • Post category:php


注:一定要关掉防火墙,不然一切徒然

一、安装Xdebug

1. Xdebug 简介

Xdebug 是一个开放源代码的 PHP 程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。当前最新版本为 Xdebug 2.5.0。

2. Xdebug 相关资料


官网:https://xdebug.org



官网文档:https://xdebug.org/docs

3. 选择合适的版本

如果不知道该下载哪个版本,官方提供了一个检测工具,只需要打印 phpinfo() 的信息,并全部复制到该工具的文本框内,并点击下面的“Analyse my phpinfo() output”按钮即可,官方将会提供详细的下载和安装介绍。

工具传送门

(

https://xdebug.org/wizard

)

如果官方的文档看不懂,可以继续往下看。

二、添加[Xdebug]板块

[XDebug]
xdebug.idekey="LARAVAL"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir ="/tmp/xdebug"
xdebug.trace_output_dir ="/tmp/xdebug"
xdebug.profiler_output_name = "xdebug.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 1
xdebug.remote_host = 10.0.2.1
xdebug.remote_port = 9010
zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so
xdebug.auto_trace = 0
xdebug.collect_includes = 1
xdebug.collect_params = 1
xdebug.collect_return = 1
xdebug.default_enable = 1
xdebug.collect_assignments = 1
xdebug.collect_vars = 1
xdebug.show_local_vars = 1
xdebug.show_exception_trace = 0

这是我所做的配置,其实配置上不会有很大问题,大家注意一下,xdebug.remote_host 的ip要填你的phpstorm,也就是你的windows所在的ip,

xdebug.remote_port默认是9000,但是一般情况下,windows的9000端口会被占用,建议在关闭windows防火墙的时候,随意写一个端口,或者是开启防火墙,在新建策略里面开启一个端口供远程调试使用

下面给大家一个官网对各个配置的说明:https://xdebug.org/docs/all_settings

官网已经说的非常详细了,在此不再赘述,注意一个点xdebug.idekey,如果配置了这个idekey,就要记住它

三、配置phpstorm

1:首先把项目文件复制一份到你的虚拟机,或者是服务器里面,可以放在apache的网站根目录下面,然后做项目代码的同步(就是你在本地修改的代码,会自动同步到服务器中,服务器中的php来编译你的代码)

2:配置链接远程服务器

3:做本地的项目和远程的项目映射

大家可以做一下参考,网上这类自动远程部署的教程 很多,大家可以照着做,下面来介绍一下xdebug的配置和使用

在文件->设置->语言与框架中  找到debug

找到xdebug 栏目,并配置debug port的端口为你之前设置的端口

在DBGp Proxy中配置你的idekey idekey就是你在配置文件中写的那个,host是你的服务器ip,port可以自选,一般默认选80就好了

很重要的一步:配置server部分

自己手动添加一个,Host填服务器ip,然后port是默认80端口,如果你修改过,你可以更改成你设置的web端口,debug选xdebug

服务器的绝对路径,主要自己要手动输入进去,在配置完成之后,重启apache,然后就可以使用xdebug了,具体的使用方法如下:

在运行-》编辑结构

自己手动添加一个xdebug实例,server选择刚才配置的server名称

starturl,这个我配置了虚拟域名,一样可以通过ip什么的

保存成功之后,现在项目文件中插入断点,然后点击

这样的按钮,f7进行逐语句调试,f9进行逐过程调试



版权声明:本文为JineD原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。