[英]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.