成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? 深入理解PHP的遠程多會話調試
全站頭部文字 我要出現(xiàn)在這里
深入理解PHP的遠程多會話調試 766 2023-12-08   

一、背景介紹

本文主要給大家介紹了關于PHP遠程多會話調試的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹:

解決什么問題:多個項目斷點調試,www.mysite.com項目會調用api.mysite.com項目REST接口,在www.mysite.com項目下觸發(fā)動作時,更方便的直接調試api.mysite.com項目中的接口。

適用什么場景:跨項目調試,遠程調試,比簡單的var_dump更方便易用。

二、遠程調試配置

Nginx+PHP-fpm環(huán)境,配置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環(huán)境的php與fpm的php是否使用的不同php.ini配置文件,需要配置fpm對應的php.ini

檢查是否配置正確

查看圖片

將遠程(fpm所在主機10.99.1.185)端口9000映射到本地端口9000:

ssh -CNg -R 9000:localhost:9000 root@10.99.1.185

本地安裝openssh后可以直接使用ssh命令

查看圖片

在服務器可以看到9000端口被ssh占用

查看圖片

PHPSTORM也需要配置Xdebug,配置同時啟用的調試會話為多個,端口9000,接受外部請求。

查看圖片

查看圖片

配置項目相關的path mapping,域名,端口

查看圖片

三、跨會話(項目)調試配置

跨項目調試的核心是把觸發(fā)Xdebug調試的條件作為參數發(fā)送給api.mysite.com項目或者后續(xù)的其他項目。

www項目代碼如下:

frontend.php

<?php

$personJson = file_get_contents('http://api.mysite.com/backend.php');

$person = json_decode($personJson);

var_dump($person);

api項目代碼如下:

backend.php

<?php

class Person {

public $Name;

public $Email;

}

$person = new Person();

$person->Name = "Maarten";

$person->Email = "maarten.balliauw@jetbrains.com";

echo json_encode($person);

需要修改www項目,把xdebug所需要的觸發(fā)遠程調試的網絡請求參數加上:

<?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);

自有項目可以在通用的網絡請求封裝類中增加cookie參數:

curl_setopt($this->ch, CURLOPT_COOKIE, "XDEBUG_SESSION=XDEBUG");

查看圖片

四、調試流程

查看圖片

確保調試參數已經轉發(fā)給api接口 增加同時可以調試的會話數量 開啟調試監(jiān)聽,開啟服務端Xdebug

五、總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對綠夏網的支持。

六、參考資料

https://confluence.jetbrains.com/display/PhpStorm/Simultaneous+debugging+sessions+with+PhpStorm

https://paper.seebug.org/308/


主站蜘蛛池模板: 血色天劫| 黄昏之恋| 林东升| 帕米尔医生电视剧全集免费观看| fate动漫免费观看| 幼儿园老师锦旗赠言| 包公大战潘金莲| 初中生物会考真题试卷| 性感直播| 凯特摩丝| 别说我的眼泪你无所谓吉他谱 | 秘密之门| 都市频道节目表今天| 六级词汇电子版| 孙颖莎结婚视频| 胎心监护多少周开始做| 来的都是客| 打开双腿扒开打屁股羞辱惩罚视频| 草刈正雄| 东莞久久精工机械有限公司| 情事:秘密情事| 澳门风云2演员表| 爆操大胸美女| douying| 蕾切尔薇兹牺牲最大的电影| 2018年党课主题及内容| 电影《邪》在线观看| 正在恋爱中全集在线观看| 倪敏然| 日本电影高校教师| 五年级下册第九课古诗三首课堂笔记| va电影| 帕米尔的春天笛子独奏| 寇世勋个人资料简介| 天地无伦| 《ulises》完整版在线观看| 陈宝莲徐锦江夜半2普通话| 宋恩彩为艺术奉献的作品有哪些| 大浴女电视剧所有演员表| 奔跑吧第13季| 全网火热|

!??!站長長期在線接?。?!

網站、小程序:定制開發(fā)/二次開發(fā)/仿制開發(fā)等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103