Magento2+Vagrant+xdebug 원격 디버깅

7544 단어 PHPMagento2xdebug

Xdebug


PHP 디버그 도구인 Xdebug에는 원격 디버그 기능이 있습니다.원격 디버깅(Remote Debugging)은 실행 중인 PHP와 다른 곳에서 디버깅을 제어하는 방식을 말합니다.
Xdebug의 원격 디버깅을 사용하여 데이터 구조를 설명할 수 있습니다.Xdebug 확장 모듈에서는 PHP 스크립트의 디버깅 및 구성 기능을 제공합니다.Xdebug는 PHP 5.4, 5.5, 5.6, 7.0, 7.1, 7.2 및 7.3도 지원합니다.
print_r () 및 vardump () 등 삽입식 (내장) 함수나 로그 파일을 사용하여 PHP 인코딩을 디버깅할 수 있지만 개발 과정에서 속도가 떨어집니다.그러나 Magento2+xdebug를 사용하면 개발 중인 속도를 높일 수 있고 가벼워질 수 있다

Xdebug 구성


전제 조건


Preconditions
1. Magento2+Vagrant 환경이 구축되었습니다.
※ Magento2+Vagrant 환경이 아직 형성되지 않았을 때, 이 강좌는magento2:magento2: 개발 환경 구축 Vagrant
2. PHP 버전 7.1 이상.
3. PHPSTORM이 설치됩니다.

Xdebug 설치(vagrant 중)


vagrant
sudo pecl install xdebug
서버가 다음 output을 받았습니다.
vagrant
Build process completed successfully
Installing '/usr/lib/php/20151012/xdebug.so'
install ok: channel://pecl.php.net/xdebug-2.6.1
configuration option "php_ini" is not set to php.ini location
You should add "zend_extension=/usr/lib/php/20151012/xdebug.so" to php.ini
그리고 xdebug 모듈을 실행하려면 php.ini 구성 파일을 편집해야 합니다./etc/php/7.1/fpm/php.ini 또는 /etc/php/7.1/fpm/conf.d/20-xdebug.inivagrant
sudo vim /etc/php/7.1/fpm/php.ini
/etc/php/7.1/fpm/php.ini
zend_extension=/usr/lib/php/20151012/xdebug.so
xdebug.remote_host=192.168.33.10
xdebug.remote_enable=1
xdebug.remote_port=9900
xdebug.idekey="PHPSTORM"
xdebug.remote_log="/tmp/xdebug.log"
xdebug.remote_host: 특정 도메인 이름 또는 IP 주소를 설정할 수 있습니다.이 경우192.168.33.10 설정(내 vagrant 개인 네트워크 IP).
xdebug.remote_port: 기본적으로 특정 포트9000로 설정할 수 있습니다.
xdebug.idekey: PHPSTORM ID를 사용하기 때문에 PHPSTORM로 설정합니다.
xdebug.remote_log: 모든 원격 디버깅 통신을 기록하는 파일 이름입니다.
설정이 끝나면 웹 서버를 다시 시작합니다.
아파치의 경우
vagrant
sudo /etc/init.d/apache2 restart
Nginx의 경우
vagrant
sudo /etc/init.d/nginx restart
xdebug가 정상적으로 사용되었는지 확인하기 위해서 phpinfo()를magento-folder/pub/index로 설정하십시오.php에 추가합니다.제 경우/var/www/html/pub/index.php입니다.이런 아웃풋을 얻을 수 있을 거야.

XDebug 클라이언트의 구성


저는 PHPStorm IDEA를 구성합니다.phptorm으로 항목을 엽니다.php.ini에 설정된 대로 xdebug.remote_port 포트를 설정합니다.
phpstorm
PHPSTORM -> Preference -> Languages & Frameworks -> PHP -> Debug

PHPStorm 구성


Deployment 구성


phpstorm
phpstorm -> Preference -> Build, Execution, Deployment -> Deployment
[+] 아이콘을 클릭하여 새 원격 서버를 추가합니다.

host 특정 도메인 이름 또는 IP 주소를 설정할 수 있습니다.
이것은 username 원격 서버의 사용자 이름입니다.vagrant을 사용했기 때문에 사용자 이름은 vagrant입니다.
원격 서버의 암호입니다.vagrant를 사용했기 때문에 비밀번호는vagrant입니다.
루트 경로 vagrant Magento 폴더의 절대 위치/var/www/html/로 설정합니다.

서버 구성


phpstorm
PHPSTORM -> Preference -> Languages & Frameworks -> PHP -> Servers
[+] 아이콘을 클릭하여 새 서버를 추가합니다.

host 특정 도메인 이름 또는 IP 주소를 설정할 수 있습니다.
Usepath mapping 확인란을 선택합니다.
under project files vagrant Magento 폴더의 절대 위치/var/www/html/로 설정합니다.

Run/debug 구성


phpstorm
PHPSTORM ->Toolbar ->Edit Configurations
  • 새 디버깅을 추가하려면 [+] 아이콘을 클릭합니다.

  • PHP Remote Debug 를 선택합니다.


  • 서버의 단계에 따라 생성된 서버를 선택합니다.
    IDE 키xdebug.idekey에서 설정한 대로 IDE 키를 설정합니다.

    브라우저 구성

  • xdebug chrome 확장 기능Xdebug helper을 설치합니다.

  • 확장자를 설치한 후 IDE 키를 설정합니다.

  • 마우스 오른쪽 버튼php.ini을 클릭합니다.

  • 2. Phptorm 을 선택합니다.chrome -> toolbar-> xdebug chrome extension iconxdebug.idekey에서 설정한 대로 IDE 키를 설정합니다.

    3. 저장 버튼을 클릭

  • xdebug chrome 확장을 사용합니다.

  • 마우스 왼쪽 버튼php.ini을 클릭합니다.

  • 2. chrome -> toolbar-> xdebug chrome extension icon를 클릭합니다.

    디버그 시간!


    phpstorm
    PHPSTORM -> toolbar 
    
  • Phptorm 도구 모음
    전환 시작PHP 디버그 연결을 받을 때까지 기다리거나 메인 메뉴에서 Run|PHP 디버그 연결을 선택하는 감청을 시작합니다.

  • 2. 코드에 중단점을 설정합니다.중단점은 Magentodebug에 설치된 PHP 콘솔에 설정할 수 있습니다.

    3. 브라우저로 웹 사이트를 새로 고치면 자동으로 PHPStorm으로 리디렉션됩니다.
    https://gyazo.com/c11de6afa9e6b666a5ff3ef7b983a37d

    좋은 웹페이지 즐겨찾기