>개발 도구 >phpstorm >phpstorm을 사용하여 Docker에서 PHP 프로젝트를 디버그하는 방법을 단계별로 알려드립니다.

phpstorm을 사용하여 Docker에서 PHP 프로젝트를 디버그하는 방법을 단계별로 알려드립니다.

藏色散人
藏色散人앞으로
2022-01-05 15:43:284886검색

다음 튜토리얼 칼럼인 phpstorm에서는 PHPStorm을 사용하여 Docker에서 PHP 프로젝트를 디버깅하는 방법을 소개합니다. 필요한 친구들에게 도움이 되길 바랍니다!

이 머신은 docker를 사용하여 개발되었습니다. 디버깅에 익숙한 사람들에게는 PHP를 docker 컨테이너에 배치하는 것이 또 다른 어려움을 안겨줍니다.

물론 이는 구성 방법을 모르는 경우에만 적용됩니다. 트릭을 마스터하고 나면 실제로는 간단한 일이며 로컬 구성과 난이도 차이가 거의 없습니다.

1 환경

시작하기 전에 몇 가지 환경적 가정을 해보겠습니다.

  • Docker가 이 머신에 설치되어 있습니다.
  • xdebug 확장이 설치된 PHP 컨테이너가 있습니다.
  • 이 머신의 코드 디렉터리 is: /Users/gary/dnmp/www/localhost/Users/gary/dnmp/www/localhost
  • 代码映射到容器目录:/var/www/html/localhost
  • 项目使用域名localhost,并在主机hosts和nginx配置中绑定
  • PHP-FPM通过9000端口与nginx容器/应用连接

这里的域名不一定是localhost,如果你用了Laravel、Yii、Thinkphp等框架,那一般会用类似 mydev.comdev.awaimai.comawaimai.dev的域名,本文一样适用。

2 php.ini配置

主要配置如下:

[XDebug]
 xdebug.remote_enable = 1
 xdebug.remote_handler = "dbgp"
 xdebug.remote_host = host.docker.internal

这几行的作用是:

  • 开启xdebug远程调试
  • 调试方式用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容器

2 PHPStorm配置

1 菜单选择 RunEdit Configurations

phpstorm을 사용하여 Docker에서 PHP 프로젝트를 디버그하는 방법을 단계별로 알려드립니다.

2 在弹出的框中点左上角的 + 号,选择 PHP Web Page

phpstorm을 사용하여 Docker에서 PHP 프로젝트를 디버그하는 방법을 단계별로 알려드립니다.

3 现在还没有任何的服务器,我们要加一个。如下,点击 server 右侧的 ... 按钮。

phpstorm을 사용하여 Docker에서 PHP 프로젝트를 디버그하는 방법을 단계별로 알려드립니다.

4 然后就是配置服务器的信息,这里就是docker容器了。

  • Name:服务器名称,随便写都可以。
  • Host:域名,这里我用localhost,如果你的域名类似awaimai.dev,那就填awaimai.dev
  • Port:连接服务器的端口。这里我们通过nginx连到PHP,用的是80端口,所以这里保留默认80
  • Debugger:用Xdebug。
  • Use path mappings:这里一定勾选,然后填写本地代码与容器代码的映射关系。如果用的是框架,这里就填框架的根目录。
phpstorm을 사용하여 Docker에서 PHP 프로젝트를 디버그하는 방법을 단계별로 알려드립니다.

然后点击OK保存。

5 返回后,

  • Name:填写一个配置名称,随便填,这里我们调试首页,填Index
  • Server:下拉选择服务器,这里我们选择刚加的localhost
  • Start URL:起始调试的页面,/表示首页,如果是其他页面,比如/home/index,那就填/home/index
phpstorm을 사용하여 Docker에서 PHP 프로젝트를 디버그하는 방법을 단계별로 알려드립니다.

点击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🎜 – 🎜구성 편집🎜, 🎜
phpstorm을 사용하여 Docker에서 PHP 프로젝트를 디버그하는 방법을 단계별로 알려드립니다.
🎜2 팝업 상자 왼쪽 상단 모서리에 있는 + 기호를 클릭하고 PHP 웹 페이지를 선택합니다. 🎜
phpstorm을 사용하여 Docker에서 PHP 프로젝트를 디버그하는 방법을 단계별로 알려드립니다.
🎜3 아직 서버가 없으므로 서버를 추가해야 합니다. 아래와 같이 서버 오른쪽에 있는 ... 버튼을 클릭하세요. 🎜
phpstorm을 사용하여 Docker에서 PHP 프로젝트를 디버그하는 방법을 단계별로 알려드립니다.
🎜4 그런 다음 서버를 구성하기 위한 정보가 있습니다. 여기에 도커 컨테이너가 있습니다. 🎜🎜🎜🎜이름: 🎜서버 이름은 원하는 대로 적으시면 됩니다. 🎜🎜🎜호스트: 🎜도메인 이름, 여기서는 localhost를 사용합니다. 도메인 이름이 awaimai.dev와 유사하면 awaimai.dev를 입력하세요. 코드>. 🎜🎜🎜포트: 🎜서버에 연결하는 포트입니다. 여기서는 <code>80 포트를 사용하여 nginx를 통해 PHP에 연결하므로 기본 80이 여기에 유지됩니다. 🎜🎜🎜디버거: 🎜Xdebug를 사용하세요. 🎜🎜🎜경로 매핑 사용🎜: 여기서 🎜필수🎜를 확인한 다음 로컬 코드와 컨테이너 코드 간의 매핑 관계를 입력합니다. 프레임워크를 사용하는 경우 여기에 프레임워크의 루트 디렉터리를 입력하세요. 🎜
phpstorm을 사용하여 Docker에서 PHP 프로젝트를 디버그하는 방법을 단계별로 알려드립니다.
🎜 그런 다음 확인을 클릭하여 저장하세요. 🎜🎜5 돌아온 후 🎜🎜🎜🎜이름: 🎜구성 이름을 입력하고, 아무렇게나 입력하고, 여기서 홈페이지를 디버깅하고, 색인을 입력합니다. 🎜🎜🎜서버: 🎜풀다운하여 서버를 선택합니다. 여기에서는 새로 추가된 localhost를 선택합니다. 🎜🎜🎜시작 URL: 🎜디버깅을 시작하는 페이지인 /는 홈 페이지를 의미하며, /home/index와 같은 다른 페이지인 경우 /home/index를 입력합니다. 코드>/홈 /색인. 🎜
phpstorm을 사용하여 Docker에서 PHP 프로젝트를 디버그하는 방법을 단계별로 알려드립니다.
🎜확인을 클릭하여 저장하세요. 🎜

3 디버깅 시작

코드 창으로 돌아가서 코드 앞에 [breakpoint]를 입력한 후 다음과 같이 [디버그 버튼]을 클릭하세요.

phpstorm을 사용하여 Docker에서 PHP 프로젝트를 디버그하는 방법을 단계별로 알려드립니다.

PHPStorm이 자동으로 열립니다. 브라우저를 열고 프로그램을 기다립니다. 실행이 중단점에 도달하면 자동으로 중지됩니다.

여기서 PHP의 전역 변수, 호출 스택 및 임시 변수를 볼 수 있으며

한 단계 디버깅도 가능하므로 매우 편리합니다.

위 내용은 phpstorm을 사용하여 Docker에서 PHP 프로젝트를 디버그하는 방법을 단계별로 알려드립니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 awaimai.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제