• xdebug 远程调试 vsCode


    上一篇说了宝塔 xdebug idea调试本地代码,但是用idea php插件调试服务器上的代码时,有一些问题,断点可以监听到,但是可能是php插件版本的问题,idea进入断点状态后,没有正在运行行的高亮显示,按下一步也没有反应,只能按全部放过,来执行完毕,所以又用vsCode来试,结果是可以的

    安装宝塔 安装xdebug插件 修改配置文件 重新加载php配置,在上一篇文章中的一样,这里就不在重复了

    宝塔 xdebug idea 调试 php_qq_31683775的博客-CSDN博客

    需要注意的是 php.ini 文件的配置,和前面的文章中有一项不同

    1. xdebug.remote_connect_back= 1

    这里需要将 1 改为 0 , 因为1是访问web服务开启xdebug,连接本地idea/vscode时,连接idea/vscode的ip从web服务器的请求来源中获取,而我们本地的 idea/vscode公网ip没有端口映射,拿着公网ip,是访问不到我们的idea/vscode服务的,

    所以要改成0,使用xdebug.remote_host = 127.0.0.1,来配置指定的xdebug调试服务端的ip,

    之后,我们会配置一个隧道,把服务器上的指定端口,映射到我们本机idea/vscode调试服务的端口,这样,访问服务器的指定端口,比如9009,就等于直接访问idea/vscode调试服务的端口,这样就能进行调试服务的通信了

    php.ini xdebug的配置片段

    1. [XDebug]
    2. ;xdebug.profiler_append = 0
    3. ;xdebug.profiler_enable = 1
    4. ;xdebug.profiler_enable_trigger = 0
    5. ;xdebug.profiler_output_dir ="D:\BtSoft\temp\xdebug"
    6. ;xdebug.trace_output_dir ="D:\BtSoft\temp\xdebug"
    7. ;xdebug.profiler_output_name = "cache.out.%t-%s"
    8. ;xdebug.remote_enable = 1
    9. ;xdebug.remote_handler = "dbgp"
    10. ;xdebug.remote_host = "127.0.0.1"
    11. ;zend_extension=php_xdebug.dll
    12. ;zend_extension=php_xdebug.dll
    13. ;用来显示错误信息
    14. display_errors = On
    15. html_errors = On
    16. ;显示堆栈信息
    17. xdebug.show_local_vars = 1
    18. xdebug.max_nesting_level = 50
    19. xdebug.var_display_max_depth = 6
    20. xdebug.dump_once = On
    21. xdebug.dump_globals = On
    22. xdebug.dump_undefined = On
    23. xdebug.dump.REQUEST = *
    24. xdebug.cli_color = 2
    25. ;显示性能信息
    26. xdebug.profiler_enable_trigger = on
    27. xdebug.collect_params = On
    28. xdebug.collect_return = On
    29. xdebug.profiler_enable = On
    30. xdebug.profiler_output_name = cachegrind.out.%t.%p
    31. xdebug.trace_output_dir = "\www\server\temp\xdebug"
    32. xdebug.profiler_output_dir ="\www\server\temp\xdebug"
    33. ;远程调试配置信息
    34. ;开启远程调试
    35. xdebug.remote_enable = On
    36. ;远程处理协议
    37. xdebug.remote_handel = dbgp
    38. ;IDE所在机器IP
    39. ;xdebug.remote_host = 127.0.0.1
    40. ;端口号
    41. xdebug.remote_port = 9009
    42. ;IDE KEY
    43. xdebug.idekey = "mykey"
    44. xdebug.remote_connect_back= 0
    45. xdebug.remote_autostart=1
    46. xdebug.remote_log = "\tmp\xdebug.log"

    安装 FinalShell 连接服务器 配置一条隧道

     宝塔 和 服务器 开放端口

     vscode安装php插件

     配置 launch.json 文件,在php项目/.vscode/launch.json 没有该文件则新建

    1. {
    2. // 使用 IntelliSense 了解相关属性。
    3. // 悬停以查看现有属性的描述。
    4. // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    5. "version": "0.2.0",
    6. "configurations": [
    7. {
    8. "name": "Listen for Xdebug",
    9. "type": "php",
    10. "request": "launch",
    11. "port": 9009,
    12. "pathMappings": {
    13. "/www/wwwroot/dushan.xihewh.com":"${workspaceRoot}"
    14. }
    15. }
    16. ]
    17. }

    这里的9009,就是我们在php.ini文件中配置的 xdebug.remote_port = 9009,vscode为开启一个监听9009端口的服务,等待服务器的xdebug服务来连接

    打上断点,刷新页面,进入断点

     

  • 相关阅读:
    【数据分析】:什么是数据分析?
    接口自动化测试之Mock
    Chapter5.6:频率响应法考研参考题
    【USB声卡】magic_uac 开发板介绍
    Linux系统命令——进程管理命令
    金属制品行业B2B交易管理系统:充分整合行业资源,助力企业开拓市场营销渠道
    C语言--每日五道练习题--Day13
    Redis主从复制的操作和配置
    买充电桩你必须要知道三件事
    「微信聚合管理」如何提高企业管理工作微信的效率和客户的黏性?
  • 原文地址:https://blog.csdn.net/qq_31683775/article/details/126578490