다음 튜토리얼 칼럼인 phpstorm에서는 PHPStorm을 사용하여 Docker에서 PHP 프로젝트를 디버깅하는 방법을 소개합니다. 필요한 친구들에게 도움이 되길 바랍니다!
이 머신은 docker를 사용하여 개발되었습니다. 디버깅에 익숙한 사람들에게는 PHP를 docker 컨테이너에 배치하는 것이 또 다른 어려움을 안겨줍니다.
물론 이는 구성 방법을 모르는 경우에만 적용됩니다. 트릭을 마스터하고 나면 실제로는 간단한 일이며 로컬 구성과 난이도 차이가 거의 없습니다.
시작하기 전에 몇 가지 환경적 가정을 해보겠습니다.
/Users/gary/dnmp/www/localhost
/var/www/html/localhost
localhost
,并在主机hosts和nginx配置中绑定9000
端口与nginx容器/应用连接这里的域名不一定是localhost
,如果你用了Laravel、Yii、Thinkphp等框架,那一般会用类似 mydev.com
、dev.awaimai.com
、awaimai.dev
的域名,本文一样适用。
主要配置如下:
[XDebug] xdebug.remote_enable = 1 xdebug.remote_handler = "dbgp" xdebug.remote_host = host.docker.internal
这几行的作用是:
dggp
host.docker.internal
,也就是docker容器所在的主机。如果主机是Linux系统,host.docker.internal
可能用不了,需要改用PHP容器和主机同一虚拟网络下的IP,在主机中用docker network inspect dnmp_default
命令可找到,其中dnmp_default
是容器的所在的网络。这里我们没有配置xdebug.remote_port
,因为xdebug默认使用9000
,与我们FPM一致了,不用再设置。如果FPM使用其他端口,remote_port
也要改成相应端口。
配置完成后,重启PHP容器。
1 菜单选择 Run – Edit Configurations,
2 在弹出的框中点左上角的 +
号,选择 PHP Web Page
。
3 现在还没有任何的服务器,我们要加一个。如下,点击 server 右侧的 ...
按钮。
4 然后就是配置服务器的信息,这里就是docker容器了。
localhost
,如果你的域名类似awaimai.dev
,那就填awaimai.dev
。80
端口,所以这里保留默认80
。勾选
,然后填写本地代码与容器代码的映射关系。如果用的是框架,这里就填框架的根目录。然后点击OK保存。
5 返回后,
Index
。localhost
。/
表示首页,如果是其他页面,比如/home/index
,那就填/home/index
。点击OK
/var/www/html/localhost
🎜🎜프로젝트는 다음을 사용합니다. 도메인 이름 localhost
를 호스트 호스트와 nginx 구성에 바인딩🎜🎜PHP-FPM은 9000
포트🎜를 통해 nginx 컨테이너/애플리케이션에 연결합니다. 🎜여기서 도메인 이름은 반드시 localhost
일 필요는 없습니다. Laravel, Yii, Thinkphp 및 기타 프레임워크를 사용하는 경우 일반적으로 mydev.com
, dev와 같은 이름을 사용하게 됩니다. .awaimai.com
, awaimai 이 문서는 .dev
도메인 이름에도 적용됩니다. 🎜🎜2 php.ini 구성 🎜🎜🎜주요 구성은 다음과 같습니다. 🎜rrreee🎜이 줄의 기능은 다음과 같습니다. 🎜🎜🎜🎜Enable 🎜xdebug 원격 디버깅🎜🎜 사용 디버깅을 위한 dggp
🎜🎜원격 주소는 도커 컨테이너가 위치한 호스트인 host.docker.internal
을 사용합니다. 호스트가 Linux 시스템인 경우 host.docker.internal
을 사용할 수 없습니다. PHP 컨테이너와 호스트의 동일한 가상 네트워크에 있는 IP를 사용해야 합니다. 호스트에서 dnmp_default를 검사하세요. > 명령을 찾을 수 있습니다. 여기서 dnmp_default
는 컨테이너가 위치한 네트워크입니다. 🎜🎜여기서는 xdebug.remote_port
를 구성하지 않았습니다. xdebug는 기본적으로 FPM과 일치하는 9000
을 사용하고 설정할 필요가 없기 때문입니다. 다시. FPM이 다른 포트를 사용하는 경우 remote_port
도 해당 포트로 변경해야 합니다. 🎜🎜구성이 완료되면 🎜PHP 컨테이너를 다시 시작🎜하세요. 🎜🎜2 PHPStorm 구성 🎜🎜🎜1 메뉴 선택 🎜Run🎜 – 🎜구성 편집🎜, 🎜🎜2 팝업 상자 왼쪽 상단 모서리에 있는 +
기호를 클릭하고 PHP 웹 페이지
를 선택합니다. 🎜🎜3 아직 서버가 없으므로 서버를 추가해야 합니다. 아래와 같이 서버 오른쪽에 있는 ...
버튼을 클릭하세요. 🎜🎜4 그런 다음 서버를 구성하기 위한 정보가 있습니다. 여기에 도커 컨테이너가 있습니다. 🎜🎜🎜🎜이름: 🎜서버 이름은 원하는 대로 적으시면 됩니다. 🎜🎜🎜호스트: 🎜도메인 이름, 여기서는 localhost
를 사용합니다. 도메인 이름이 awaimai.dev
와 유사하면 awaimai.dev를 입력하세요. 코드>. 🎜🎜🎜포트: 🎜서버에 연결하는 포트입니다. 여기서는 <code>80
포트를 사용하여 nginx를 통해 PHP에 연결하므로 기본 80
이 여기에 유지됩니다. 🎜🎜🎜디버거: 🎜Xdebug를 사용하세요. 🎜🎜🎜경로 매핑 사용🎜: 여기서 🎜필수🎜를 확인
한 다음 로컬 코드와 컨테이너 코드 간의 매핑 관계를 입력합니다. 프레임워크를 사용하는 경우 여기에 프레임워크의 루트 디렉터리를 입력하세요. 🎜🎜 그런 다음 확인을 클릭하여 저장하세요. 🎜🎜5 돌아온 후 🎜🎜🎜🎜이름: 🎜구성 이름을 입력하고, 아무렇게나 입력하고, 여기서 홈페이지를 디버깅하고, 색인
을 입력합니다. 🎜🎜🎜서버: 🎜풀다운하여 서버를 선택합니다. 여기에서는 새로 추가된 localhost
를 선택합니다. 🎜🎜🎜시작 URL: 🎜디버깅을 시작하는 페이지인 /
는 홈 페이지를 의미하며, /home/index
와 같은 다른 페이지인 경우 /home/index
를 입력합니다. 코드>/홈 /색인. 🎜🎜확인
을 클릭하여 저장하세요. 🎜코드 창으로 돌아가서 코드 앞에 [breakpoint]를 입력한 후 다음과 같이 [디버그 버튼]을 클릭하세요.
PHPStorm이 자동으로 열립니다. 브라우저를 열고 프로그램을 기다립니다. 실행이 중단점에 도달하면 자동으로 중지됩니다.
여기서 PHP의 전역 변수, 호출 스택 및 임시 변수를 볼 수 있으며
한 단계 디버깅도 가능하므로 매우 편리합니다.
위 내용은 phpstorm을 사용하여 Docker에서 PHP 프로젝트를 디버그하는 방법을 단계별로 알려드립니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!