簡體   English   中英

如何在WSL上使用Xdebug + PhpStorm調試Symfony 4?

[英]How to debug Symfony 4 with Xdebug + PhpStorm on WSL?

我在Windows Linux子系統(WSL)上安裝了PHP7.1 + nginx。
我提到WSL,所以在PhpStorm Xdebug中配置為遠程調試器,它通過端口9000連接。仍然使用相同的物理文件WSL和PhpStorm。

對於Symfony 4項目,我使用它內置的web-server: 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 ,則應該完成

我經歷了一個非常類似的問題,似乎在初始中斷(第一行腳本)之后,xdebug無法繼續遍歷代碼。

PhpStorm 2017.3,Mojave 10.14,Symfony 4.2,Xdebug 2.7.1

嘗試將PhpStorm升級到2018.3 - 這對我來說是不同的。

您必須首先在WSL上重新安裝ssh:

sudo apt remove openssh-server
sudo apt install openssh-server

編輯/ etc / ssh / sshd_config ,將PasswordAuthentication更改為yes並將您的登錄用戶添加到文件的底部: AllowUsers yourusername

保存更改並重新啟動ssh:

sudo service ssh --full-restart

更多信息: https//www.illuminiastudios.com/dev-diaries/ssh-on-windows-subsystem-for-linux/

最后在PhpStorm中設置遠程調試配置: http//blog.spameri.cz/2017/04/20/phpstorm-wsl-php.html

請記住設置正確的目錄映射。 對於PhpStorm,您的文件位於C:/ ProjectsDir / MyProject,但對於xdebug,它是/ mnt / c / ProjectsDir / MyProject

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM