2017-12-10 29 views
1

WSL (Windows Linux Subsystem)에서 PHP7.1 + nginx 설정이 있습니다.
PhpStorm에서 Xdebug가 포트 9000을 통해 연결되는 원격 디버거로 구성되도록 WSL을 언급합니다. WSL과 PhpStorm은 동일한 실제 파일을 사용합니다.Symfony 4를 WSDL에서 Xdebug + PhpStorm으로 디버깅하는 방법은 무엇입니까?

심포니 4 프로젝트를 위해 나는이 웹 서버에 내장되어있어 사용하고 있습니다 : bin/console server:run

나는 Xdebug는 연결을 허용하도록 PhpStorm를 설정 관리했습니다. 연결이 설정되면 매핑을 요청하거나 파일로 만듭니다. index.php을 요청할 것이지만 요청 된 파일 매핑은 vendor/symfony/web-server-bundle/Resources/router.php입니다.

이 파일 내부의 문서에서 말한 것처럼 -이 파일은 PHP 내장 웹 서버에 대한 다시 쓰기 규칙을 구현합니다. 괜찮아.

이 파일에 대한 매핑을 수락하면 router.php에서 디버깅이 시작되어 몇 줄이 더 가며 아무 일도 일어나지 않습니다. 내 public/index.php으로 점프하지 않거나 중단 점에서 멈추지 않습니다.

- Xdebug로 Symfony 4 디버깅을 구성하는 방법은 무엇입니까? 아마도 매핑이나 뭐가 잘못 되었나요?

답변

0

부터 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을 제거해야합니다.

+0

이미 public/index.php와 project root dir에 대해 수동으로 맵핑이 설정되어 있습니다. 것은 PhpStorm이 Xdebug로부터 연결을 받으면'router.php'에 매핑을 제공해야하는 대화 상자를 엽니 다. 그것은 결코 index.php에 도달하지 않습니다 – bravik

+0

Symfony의 자체 서버로 아직 작업하지는 않았지만 index.php라고 부릅니다. –

+0

'router.php'에서 마침내 다음과 같이 입력해야합니다 :'require getenv ('APP_FRONT_CONTROLLER')? : 'index.php'' – bravik