首页 > 编程语言 >如何使用phpstorm调试php

如何使用phpstorm调试php

时间:2023-11-07 12:12:52浏览次数:33  
标签:xdebug remote 配置 phpstorm php 调试

以前调试php都是使用 dump 或者 var_dump 来进行,非常不方便,现在可以使用 phpstorm 来进行动态调试,单步跟踪等,可以更快完成任务,
环境为本地是win10,ip地址为 192.168.0.114
服务器使用虚拟机 centos7 ,ip地址为 192.168.115.120

1.服务器安装 xdebug 扩展,如果服务器使用了宝塔,可以一键安装,非常方便

2.配置xdebug,

[xdebug]
zend_extension=/www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so
;xdebug3.0中用于代替之前的xdebug.remote_enable=On
xdebug.mode=debug

;xdebug3.0中用于代替之前的xdebug.remote_autostart,trigger对应之前的off,yes对应之前的on
xdebug.start_with_request=trigger

;xdebug3.0中用于代替之前的xdebug.remote_host
xdebug.client_host="192.168.0.114"

;xdebug3.0中用于代替之前的xdebug.remote_connect_back=On,它会自动从$_SERVER['HTTP_X_FORWARDED_FOR']
;或$_SERVER['REMOTE_ADDR']变量中获取ip,当然因为$_SERVER只有服务器模式有所以客户端模式是用不了的(可配置其它变量)
;如果找不到ip它会回退(fallback)到xdebug.client_host指定的ip
xdebug.discover_client_host=true

;xdebug3.0中用于代替之前的xdebug.remote_port
xdebug.client_port=9003

;固定填dbgp(因为目前只支持这个协议,也只有这个协议)
xdebug.remote_handler="dbgp"

;这是一个所有网上的文章都提到要设置但实际上却没啥用的参数(不信你可以注释掉试试,一切都正常)
xdebug.idekey="PHPSTORM"

3.配置phpstorm的 deployment

phpstorm -> tools -> Deployment -> Configuration
Connection标签页的配置

Mappings标签页的配置

第一行的映射是php程序的运行目录,一般为项目根目录的 www目录或者public目录,
第二行映射是php程序的根目录,为了方便本地和虚拟机服务器同步代码使用

这一步配置后记得把本地代码和服务器进行同步

4.配置 php debug servers

phpstorm -> file -> settings
选择 PHP -> Servers

5.配置 php debug 端口

phpstorm -> file -> settings
选择 PHP -> Debug

注意这里的debug port要和第一步配置的 xdebug.client_port=9003 要一致

6.验证是否配置成功

phpstorm -> file -> settings
选择 PHP -> Debug ,
这里面的第一个标签页为 Pre-configuration,总共有四个步骤
点击第三步的Start Listening,开启监听
然后点击第一步的 Validate,会弹出一个配置框,配置如下

这里的 Path to create validation script 一定是要选择 php程序的运行目录,不是根目录,不然很可能出现验证失败的情况

点击 Validate,如果成功的话

7.如果验证通过,现在就可以开始调试了

配置一个 PHP Remote Debug,配置如下

打开监听,然后在想要调试的具体代码打上断点,就可以调试了,对于开发来说非常的方便

标签:xdebug,remote,配置,phpstorm,php,调试
From: https://www.cnblogs.com/lybaobei/p/17814710.html

相关文章

  • Web_php_include
    常用伪协议用法:1.php伪协议用法:(大小写都可以)php://input,用于执行php代码,需要post请求提交数据。php://filter,用于读取源码,get提交参数。?a=php://filter/read=convert.base64/resource=xxx.php需要开启allow_url_fopen:php://input、php://stdin、php://memory、php://temp不......
  • eclipse断点调试 出现Source not found
    详见配置图片:增加“addsourcefilenametogeneratedclassfile”勾选。   eclipse工具条,Run->debugconfigurations->Source(tab页)->Add->javaproject->勾选你的工程->applyhttp://bigdragon.iteye.com/blog/1265999http://xiaobaozi.iteye.com/blog/865009......
  • IDEA 断点调试,为啥有的时候断点没有起作用?
    在使用IntelliJIDEA进行调试时,断点可能不起作用的几个常见原因如下:1.编译问题:确保代码已经编译并且最新版本已经部署到运行环境中。如果代码没有被正确编译或部署,断点可能无法生效。2.优化编译器:有些情况下,编译器可以对代码进行优化以提高性能。这可能会导致某些断点无法正常......
  • 正则可视化在线工具-更直观地理解和调试正则表达式的利器
    在工作和学习中,正则表达式是一种强大的工具,用于处理和分析文本数据。它可以帮助我们在海量数据中快速搜索、匹配和提取所需的信息。然而,正则表达式的语法复杂,很多人在编写和调试时可能会遇到困难。为了解决这个问题,我决定自己编写一个正则工具。这个工具旨在提供一个直观且用户友......
  • php 点击下载文件
    //下载文件publicfunctiondownload(Request$request){$file_path='C:/Users/Admin/Desktop/办公材料/缓存.txt';$file_name='缓存.txt';if(!file_exists($file_path)){echo'文件不存在';exit();}header('Con......
  • IDEA插件分享,支持接口调试!
    平时我们在写完接口需要填入postman、Apipost等工具进行接口调试,今天给大家推荐一款IDEA插件Apipost-helper,写完代码直接可以进行调试,而且支持生成接口文档,JAVA工程师必用!可以点击下方链接或在插件商店中搜索安装如下图:https://plugins.jetbrains.com/plugin/22676-apipost-helper-......
  • 接口写完直接调试,JAVA工程师必用!
    平时我们在写完接口需要填入postman、Apipost等工具进行接口调试,今天给大家推荐一款IDEA插件Apipost-helper,写完代码直接可以进行调试,而且支持生成接口文档,JAVA工程师必用!可以点击下方链接或在插件商店中搜索安装如下图:https://plugins.jetbrains.com/plugin/22676-apipost-helper-......
  • IDEA插件分享,支持接口调试!
    平时我们在写完接口需要填入postman、Apipost等工具进行接口调试,今天给大家推荐一款IDEA插件Apipost-helper,写完代码直接可以进行调试,而且支持生成接口文档,JAVA工程师必用!可以点击下方链接或在插件商店中搜索安装如下图:https://plugins.jetbrains.com/plugin/22676-apipost-help......
  • 接口写完直接调试,JAVA工程师必用!
    平时我们在写完接口需要填入postman、Apipost等工具进行接口调试,今天给大家推荐一款IDEA插件Apipost-helper,写完代码直接可以进行调试,而且支持生成接口文档,JAVA工程师必用!可以点击下方链接或在插件商店中搜索安装如下图:https://plugins.jetbrains.com/plugin/22676-apipost-help......
  • Metasploit windows 调试环境搭建
    Metasploitwindows调试环境搭建安装ruby首先确定metasploit的ruby版本metasploit-framework/.ruby-version3.0.5在https://rubyinstaller.org/downloads/archives/下载对应版本的Ruby+DevkitInstallers(x64),默认配置安装即可。输入ruby-v查看是否安装成功安装gem......