이 글에서는 주로 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, 외부 요청 수락.
프로젝트 관련 경로 매핑, 도메인 이름, 포트 구성
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!