Magento2+Vagrant+xdebug 원격 디버깅
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 중)
vagrantsudo pecl install xdebug
서버가 다음 output을 받았습니다.
vagrantBuild 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.ini
vagrantsudo vim /etc/php/7.1/fpm/php.ini
/etc/php/7.1/fpm/php.inizend_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: 모든 원격 디버깅 통신을 기록하는 파일 이름입니다.
설정이 끝나면 웹 서버를 다시 시작합니다.
아파치의 경우
vagrantsudo /etc/init.d/apache2 restart
Nginx의 경우
vagrantsudo /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
포트를 설정합니다.
phpstormPHPSTORM -> Preference -> Languages & Frameworks -> PHP -> Debug
PHPStorm 구성
Deployment 구성
phpstormphpstorm -> Preference -> Build, Execution, Deployment -> Deployment
[+] 아이콘을 클릭하여 새 원격 서버를 추가합니다.
host 특정 도메인 이름 또는 IP 주소를 설정할 수 있습니다.
이것은 username 원격 서버의 사용자 이름입니다.vagrant을 사용했기 때문에 사용자 이름은 vagrant
입니다.
원격 서버의 암호입니다.vagrant
를 사용했기 때문에 비밀번호는vagrant
입니다.
루트 경로 vagrant Magento 폴더의 절대 위치/var/www/html/
로 설정합니다.
서버 구성
phpstormPHPSTORM -> Preference -> Languages & Frameworks -> PHP -> Servers
[+] 아이콘을 클릭하여 새 서버를 추가합니다.
host 특정 도메인 이름 또는 IP 주소를 설정할 수 있습니다.
Usepath mapping 확인란을 선택합니다.
under project files vagrant Magento 폴더의 절대 위치/var/www/html/
로 설정합니다.
Run/debug 구성
phpstormPHPSTORM ->Toolbar ->Edit Configurations
전제 조건
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.ini
vagrantsudo vim /etc/php/7.1/fpm/php.ini
/etc/php/7.1/fpm/php.inizend_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 키를 설정합니다.브라우저 구성
확장자를 설치한 후 IDE 키를 설정합니다.
마우스 오른쪽 버튼
php.ini
을 클릭합니다.2. Phptorm 을 선택합니다.
chrome -> toolbar-> xdebug chrome extension icon
xdebug.idekey
에서 설정한 대로 IDE 키를 설정합니다.3. 저장 버튼을 클릭
xdebug chrome 확장을 사용합니다.
마우스 왼쪽 버튼
php.ini
을 클릭합니다.2.
chrome -> toolbar-> xdebug chrome extension icon
를 클릭합니다.디버그 시간!
phpstormPHPSTORM -> toolbar
PHPSTORM -> toolbar
전환 시작PHP 디버그 연결을 받을 때까지 기다리거나 메인 메뉴에서 Run|PHP 디버그 연결을 선택하는 감청을 시작합니다.
2. 코드에 중단점을 설정합니다.중단점은 Magento
debug
에 설치된 PHP 콘솔에 설정할 수 있습니다.3. 브라우저로 웹 사이트를 새로 고치면 자동으로 PHPStorm으로 리디렉션됩니다.
https://gyazo.com/c11de6afa9e6b666a5ff3ef7b983a37d
Reference
이 문제에 관하여(Magento2+Vagrant+xdebug 원격 디버깅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/moaazfarag/items/d5bfa6692f86f0b099a0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)