php - 如何在 WSL 上使用 Xdebug + PhpStorm 调试 Symfony 4?

标签 php symfony phpstorm xdebug symfony4

我在 Windows Linux 子系统 (WSL) 上安装了 PHP7.1 + nginx。
我提到的是 WSL,因此在 PhpStorm 中 Xdebug 被配置为远程调试器,它通过端口 9000 连接。WSL 和 PhpStorm 仍然使用相同的物理文件。

对于 Symfony 4 项目,我正在使用它内置的网络服务器:bin/console server:run

我已成功设置 PhpStorm 以接受 Xdebug 连接。建立连接后,它会询问或文件映射。我希望 index.php 被要求,但请求的文件映射是: vendor/symfony/web-server-bundle/Resources/router.php

如该文件中的文档所述 - 该文件实现了 PHP 内置 Web 服务器的重写规则。好的。

如果我接受到这个文件的映射 - 调试从 router.php 开始,再往前走几行,然后什么都没有发生。它不会跳转到我的 public/index.php 或不会在任何断点处停止。

问题是 - 如何使用 Xdebug 配置 Symfony 4 调试? 可能是映射有问题还是什么?

最佳答案

通过https://www.jetbrains.com/help/phpstorm/override-server-path-mappings-dialog.html ,您应该扩展您的文件映射。可能使用了 router.php,因为它是找到的第一个入口点 - 但通过第一个文件,您可以看到 WSL 使用的文件结构。

因此:打开映射对话框应该会为您提供 router.php 结构中某处的映射路径,该路径也在更深的目录中的某处。如果您为根文件夹添加的映射与用于 router.php 的映射相同,则删除 vendor/symfony/web-server-bundle/Resources/router.php,你应该完成了

关于php - 如何在 WSL 上使用 Xdebug + PhpStorm 调试 Symfony 4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47734877/

相关文章:

php - mysql时间戳转换

email - 使用亚马逊SES发送带有附件的电子邮件

unit-testing - Symfony2 + 功能测试 "DataFixtures load how set the proper order"

PhpStorm - 如何避免创建 .idea 文件夹?

angularjs - 在 Webstorm/PHPStorm 中获取 angularJS 自动完成

javascript - PhpStorm 不会使用 ES6 模板文字进行编译

php - 如何实现网页的那个移动的盒子(屏幕纸?)?

PHP包含文件但 undefined variable

php - 使变量不可变

css - 转义symfony css选择器中的特殊字符或使用通配符