원 격 디 버 깅
xdebug 를 사용 하여 원 격 디 버 깅 을 진행 합 니 다.
이것 은 나의 오리지널 문장 이 니,전재 할 때 출처 를 밝 혀 주 십시오.
xdebug 원 리 는 말 하지 않 겠 습 니 다.인터넷 에 많 습 니 다.로 컬 디 버 깅,원 격 디 버 깅.
로 컬 디 버 깅 은 간단 합 니 다.phopstorm 은 0 설정 이 라 고도 부 르 며 간단 합 니 다.너무 쉬 워 서..
본문 은 로 컬 디 버 깅 을 토론 하지 않 는 다.
xdebug 원 격 디 버 깅 은 비교적 복잡 하 다.
며칠 동안 구 덩이 를 밟 아서 마침내 디 버 깅 방법 을 알 아 냈 다.
이 문 서 는 docker 뿐만 아니 라 일반 원 격 호스트 에 도 적 용 됩 니 다.docker 가 제일 귀 찮 으 니까.
현실 적 인 상황 은 제 가 이 컴퓨터 의 docker-toolbox 에 배 치 된 phop,nginx,숙 호스트 는 win 7 이 고 개발 도구 인 phopstorm 입 니 다.
우선 phop 에 xdebug 를 설치 합 니 다.설정 은 다음 과 같 습 니 다:
zend_extension=xdebug.so
xdebug.remote_enable = On
xdebug.remote_handler = dbgp
xdebug.remote_host = 10.0.0.2
xdebug.remote_port = 9002
xdebug.idekey = PHPSTORM
dbgp 는 고정 표기 법 입 니 다.
10.0.0.2 는 용기 가 호스트 에 접근 하 는 ip 입 니 다.win 7 의 cmd 에서 ipconfig 로 현재 기계 의 ip 를 볼 수 있 습 니 다.
그러나 가장 좋 은 방법 은 phpinfo()를 쓰 고 호스트 가 docker 에 있 는 IP 주 소 를 관찰 하 는 것 이다.
9002 는 phpstorm 이라는 프로그램의 감청 포트 입 니 다.
그리고 xdebug 는 특별 해서 extension=...,zend 를 사용 해 야 합 니 다.extension= ...
nginx 에 server 설정name
이것 은 피눈물 의 교훈 이다.며칠 동안 이것 때문에 어 울 리 지 않 았 는 지,아니면 많은 구 글 이 알 게 되 었 는 지.
server {
listen 80;
root /var/www/taoke;
server_name www.t1.com;
index index.php ;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
포 인 트 는 그 한 마디 servername ...
docker 공유 디 렉 터 리 설정
목록 은 모두 세 가지 가 있 는데,
win 7 의 프로그램 디 렉 터 리 입 니 다.
docker 용기 밖의 디 렉 터 리 입 니 다.
docker 용기 내 디 렉 터 리.
예 를 들 어 내 프로젝트:
win 7 아래:
D:\lenovo_d\docker_study\my_dockerfile\wwwroot\taoke
그리고 제 가 가상 컴퓨터 에서 공유 디 렉 터 리 를 만 들 었 어 요.
docker 환경의 루트 디 렉 터 리 에 docker 가 있 습 니 다.study 디 렉 터 리,win 7 의 동명 디 렉 터 리 를 비 추 었 습 니 다.
그리하여
/docker_study/my_dockerfile/wwwroot/taoke
그리고 용기 안에 또 매 핑 을 했 고 용기 안에 서 는 용기 밖 과 서로 매 핑 할 수 밖 에 없 었 다.
/var/www/taoke
nginx 프로필 입 니 다.
하지만 debug 를 만 들 려 면 두 가지 디 렉 터 리 만 있 을 수 있 습 니 다.방법 을 생각해 봤 습 니 다.
용기 밖의 디 렉 터 리 에 심 볼 릭 링크 를 추가 하여 해결 합 니 다.
용기 밖,즉 docker 환경.
ln -s /docker_study/my_dockerfile/wwwroot /var/www
현재 docker 의 디 렉 터 리 는 용기 안팎 을 막론하고 하나만 있 습 니 다.
win 7 호스트 설정
C:\Windows\System32\drivers\etc\hosts
추가:
127.0.0.1 www.t1.com
win 7 브 라 우 저 추가 구성 요소 추가:
불 여우 로 하면 Xdebug helper 라 고 합 니 다.
chrome 으로 도 이 이름 을 부 릅 니 다.
설치 후 이 아이콘 을 오른쪽 클릭 하고"옵션"을 선택 한 다음 IDE KEY 를 PHPSTORM 으로 설정 해 야 합 니 다.
나중에 디 버 깅 을 하려 면 이 아이콘 을 녹색,즉 debug 상태 로 설정 합 니 다.
디 버 깅 을 원 하지 않 을 때 이 아이콘 을 회색,즉 disable 상태 로 설정 합 니 다.
phpstorm 각종 설정-디버그
file- settings - languages & frameworks - PHP - Debug
포트 를 9002 로 설정 합 니 다.php.ini 에 있 는 xdebug 의 xdebug.remote 와 함께 해 야 합 니 다.port 일치 유지.
포트 주위 의 세 개의 체크 를 함께 하 다.
Zend Debugger 옵션 은 신경 쓰 지 않 습 니 다.
그리고 이 포트 를 바 꾸 려 면 phpstorm 을 다시 시작 해 야 합 니 다.
Debug 옵션 은 settings 에 세 개의 하위 항목 이 있 으 니 상관 하지 않 아 도 됩 니 다.
phpstorm 각종 설정-Deployment 즉 배치
file- settings - Build,Execution,Deployment - Deployment
추가 번 호 를 누 르 면 원 격 디 렉 터 리 맵 을 추가 합 니 다.
1、Connection
체크 는 이 항목 만 볼 수 있 습 니 다.
type:sftp
host:192.168.99.100
port:22
username:docker
인증 방법:password
password:tcuser
저장 암호 선택
root path:/var/www/taoke
web server url: http://192.168.99.100
아래 의 고급 옵션 은 무시 합 니 다.
2、Mappings
localpath:D:\lenovo_d\docker_study\my_dockerfile\wwwroot\taoke
deployment path: /
web path:/
3、Explude Paths
스스로 상황 을 보고 설정 하지 않 아 도 된다.
정상 적 인 상황 에서 설정 이 끝나 면 이 디 렉 터 리 에 있 는 파일 이 자동 으로 표 시 됩 니 다.
이 창 을 열 고 메뉴 view-tool windows-Remote host 에서
phpstorm 각종 설정-server
file- settings - languages & frameworks - PHP - Servers
하 나 를 추가 하고 추가 번 호 를 누 르 십시오.
Name,마음대로 하 세 요.
Host:아주 중요 합 니 다.
www.t1.com 에 기입 하 겠 습 니 다.
이것 은 브 라 우 저가 방문 한 사이트 의 호스트 이자 nginx 에서 설정 한 server 입 니 다.name,그리고 여기에 기입 하 세 요.
port:80
xdebug 선택
선택 use path mappings
왼쪽 은 D:\lenovod\docker_study\my_dockerfile\wwwroot\taoke
오른쪽 은/var/www/taoke 입 니 다.
확인 을 누 르 십시오.
프로그램 에 정지점 추가
메뉴 view-toolbar,체크 해 주세요.
전 화 를 걸 었 던 녹색 작은 아이콘 이 금지 되 지 않 았 는 지 확인 하고 전화 작은 아이콘 을 누 르 면 두 가지 상태 가 있 음 을 알 수 있 습 니 다.사용 하고 사용 하지 않 습 니 다.
예 를 들 어 내 루트 디 렉 터 리 아래 p123.php 가 있다.
나 는 phpstorm 에서 이 파일 을 열 고 임의의 줄 에 정지점 을 추가 해서 이 파일 을 닫 았 다.
이 때 브 라 우 저 를 열 어 추가 구성 요소 xdebug helper 의 아이콘 이 밝 아 지 는 지 확인 합 니 다.
입력,www.t1.com/p123.php,브 라 우 저 페이지 가 바로 돌아 오지 않 아 무언 가 를 기다 리 고 있 는 것 같 습 니 다.
이 때 phpstorm 에 들 어가 면 p123.php 라 는 파일 이 자동 으로 열 리 고 내 정지점 줄 이 자동 으로 밝 아 지 며 아래 에 디 버 깅 창 이 나타 나 현재 php 환경의 모든 변수의 값 을 보 여 줍 니 다.이 때 debug 단 추 를 몇 개 누 르 면 프로그램 이 들 어 갈 수 있 습 니 다.
완전히 끝났어!!
조건:phpstorm 프로그램 에 정지점 설정 이 있 고,phpstorm 에 xdebug 감청 요청 이 있 으 며,작은 전화 아이콘 이 켜 져 있 습 니 다.
브 라 우 저 는 플러그 인 을 사용 하고 debug 상태 로 설정 합 니 다.
디 버 깅 을 하지 않 으 려 면 브 라 우 저 플러그 인 아이콘 을 클릭 하여 disable 상태 로 설정 하면 됩 니 다.매우 편리 하 다!
마지막 으로 생산 서버 는 xdebug 를 설치 할 수 없습니다.그렇지 않 으 면 양 적 자원 이 소모 되 고 안전 하지 않 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
PHPUnit을 PhpStorm에서 실행 with LaradockPhpStorm에서 PHPUnit을 실행할 수 있도록 설정했으므로, 그 순서를 정리해 보았습니다. .env(laradcok) 편집 xdebug.ini 편집 workspace/xdebug.ini php-fpm/xdeb...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.