이 글에서는 주로 PHP 원격 다중 세션 디버깅에 대한 관련 정보를 샘플 코드와 그림을 통해 자세히 소개합니다. 학습이나 작업이 필요한 모든 사람에게 꼭 필요한 참고 자료가 될 것입니다. 함께.
1. 배경 소개
이 글은 주로 PHP 원격 다중 세션 디버깅에 대한 관련 내용을 소개하며 참고 및 학습을 위해 공유합니다. 아래에서는 많은 말을 하지 않겠습니다. 자세한 소개를 살펴보세요.
해결된 문제: 다중 프로젝트 중단점 디버깅, www.mysite.com 프로젝트는 api.mysite.com 프로젝트 REST 인터페이스를 호출하고 www. mysite.com 프로젝트의 경우 api.mysite.com 프로젝트의 인터페이스를 직접 디버깅하는 것이 더 편리합니다.
어떤 시나리오에 적합합니까? 프로젝트 간 디버깅, 원격 디버깅, 단순한 var_dump보다 더 편리하고 사용하기 쉽습니다.
2. 원격 디버깅 구성
Nginx+PHP-fpm 환경, php.ini 확장 구성
[Xdebug] zend_extension = /usr/local/php56/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so xdebug.remote_enable=1 remote_handler=dbgp xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.idekey=XDEBUG
참고: CLI 환경의 php와 fpm의 php 여부 php.ini 구성 파일을 다르게 사용하려면 fpm에 해당하는 php.ini를 구성해야 합니다
구성이 올바른지 확인하세요
원격(fpm 호스트 10.99.1.185) 포트 9000을 로컬 포트 9000에 매핑합니다. :... , 동시에 활성화된 여러 디버깅 세션 구성, 포트 9000, 외부 요청 수락.
프로젝트 관련 경로 매핑, 도메인 이름, 포트 구성
3. 세션 간(프로젝트) 디버깅 구성 크로스 프로젝트 디버깅의 핵심은 다음과 같습니다. Xdebug 디버깅을 트리거합니다. 조건은 api.mysite.com 프로젝트 또는 기타 후속 프로젝트에 매개변수로 전송됩니다.www 프로젝트 코드는 다음과 같습니다.
frontend.php
ssh -CNg -R 9000:localhost:9000 root@10.99.1.185
api 프로젝트 코드는 다음과 같습니다. backend.php
<?php $personJson = file_get_contents('http://api.mysite.com/backend.php'); $person = json_decode($personJson); var_dump($person);
<?php class Person { public $Name; public $Email; } $person = new Person(); $person->Name = "Maarten"; $person->Email = "maarten.balliauw@jetbrains.com"; echo json_encode($person);
자체 프로젝트에서 일반 네트워크 요청 캡슐화 클래스에 쿠키 매개변수를 추가할 수 있습니다.
<?php $debuggingQuerystring = ''; if (isset($_GET['XDEBUG_SESSION_START'])) { // xdebug $debuggingQuerystring = 'XDEBUG_SESSION_START=' . $_GET['XDEBUG_SESSION_START']; } if (isset($_COOKIE['XDEBUG_SESSION'])) { // xdebug (cookie) $debuggingQuerystring = 'XDEBUG_SESSION_START=PHPSTORM'; } if (isset($_GET['start_debug'])) { // zend debugger $debuggingQuerystring = 'start_debug=' . $_GET['start_debug']; } $personJson = file_get_contents('http://api.mysite.com/backend.php?' . $debuggingQuerystring); $person = json_decode($personJson); var_dump($person);
동시에 디버깅할 수 있는 세션 수를 늘리세요디버깅 모니터링을 활성화하고 서버 측 Xdebug를 활성화하세요
위 내용은 PHP용 원격 다중 세션 디버깅의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!