为了账号安全,请及时绑定邮箱和手机立即绑定

如何连接 PhpStorm 和 Xdebug

如何连接 PhpStorm 和 Xdebug

PHP
holdtom 2023-04-28 17:22:26
我希望这里有人可以帮助我解决我的问题:我最近进入了我的第一个 PHP 项目,需要设置调试。我知道很多人在我面前遇到过同样的问题,但我很难找到解决方案。我需要使用 Xdebug 设置 PhpStorm,并且所有设置都使其仍然无法正常工作,当我开始调试会话时,我陷入了困境,没有更多信息:这是我的项目设置:带有 Xdebug 的 Docker Webapp:0.0.0.0:80->80/tcp,0.0.0.0:443->443/tcpPhpStorm PHP 调试设置:Xdebug 设置来自phpinfo():在 PhpStorm 中侦听调试连接已开启,启动调试会话通过 GET 创建会话:https://localhost/?XDEBUG_SESSION_START=16957但我的所有断点都被忽略了。试图获得更多信息我跑了netstat:谁能告诉我我在这里缺少什么?
查看完整描述

2 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

  1. 不要使用运行/调试配置进行 Web 调试,这会适得其反。您可以使用零配置调试直接从浏览器启动调试连接。

  2. 禁用xdebug.remote_connect_back,弊大于利,尤其是 Docker。

  3. xdebug.remote_host不应该localhost在您使用 Docker 时出现,这样,容器会尝试将调试数据发送给自身而不是主机。看来您使用的是 macOS 和 Docker for Mac,host.docker.internal在这种情况下应该是正确的主机名。

  4. 如果从浏览器启动调试会话后 PhpStorm 仍然无法捕获连接,我们将需要按照@LazyOne 的建议查看 Xdebug 日志。

查看完整回答
反对 回复 2023-04-28
?
噜噜哒

TA贡献1784条经验 获得超7个赞

我使用了这个设置并且它有效:)


xdebug.remote_port=9000

xdebug.idekey=PHPSTORM

xdebug.default_enable=1

xdebug.remote_autostart=1

xdebug.remote_enable=1

xdebug.remote_handler=dbgp

xdebug.profiler_enable=0

xdebug.profiler_output_dir="/var/www/html"

xdebug.var_display_max_depth=20

xdebug.remote_host=host.docker.internal

xdebug.remote_enable=1

xdebug.remote_connect_back=0

在 vscode 中使用 launch.json


 "name": "Listen 9000",

 "type": "php",

 "request": "launch",

 "log": true,

 "externalConsole": false,

 "pathMappings": {

        "/var/www/html": "/Users/folder/project/src"

     },

  "port": 9000,

使用 docker-compose.yml:

//img1.sycdn.imooc.com//644b90ad0001fda505550551.jpg

查看完整回答
反对 回复 2023-04-28
  • 2 回答
  • 0 关注
  • 113 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信