国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使用Xdebug進行遠程調試

paulquei / 2346人閱讀

摘要:為什么要用方便聯調和客戶端一起聯調,是會影響其他人員是使用。關注數據變化正常情況下,我們在調試和開發時,更關注數據的變化。紅色方形,表示中斷當前程序調試。第三個圖形示,強制進入當前函數內部的程序。

為什么要用?

方便聯調:
和客戶端一起聯調,是die(); exit(); 會影響其他人員是使用。

關注數據變化:
正常情況下,我們在調試和開發時,更關注數據的變化。頻繁斷點、效率比較低。

簡單:
之前的開發自己比較懶,一直沒用,用起來發現很簡單。

原理

運行xdebug需要客戶端IDE(phpstorm)、遠程服務器配合,首先是客戶端配置好端口,發送debug請求,請求會通過瀏覽器或者IDE的http請求,攜帶特定的參數發送到服務端,服務端收到請求后,發現這是一個xdebug請求,則與IDE建立dpgp連接,當遇到斷點時候,返回調試信息給IDE

服務器的IP是10.0.1.2,端口80上有HTTP

IDE位于未知IP上,因此xdebug.remote_connect_back設置為1

IDE偵聽端口9000,因此xdebug.remote_port設置為9000

發出HTTP請求,Xdebug從HTTP頭中檢測IP地址

Xdebug連接到端口9000上檢測到的IP(10.0.1.42)

調試運行,提供HTTP響應

流程

1. 安裝xdebug擴展

https://xdebug.org/download.php

2. 遠程環境配置
zend_extension=xdebug.so
xdebug.idekey=PHPSTORM
xdebug.remote_connect_back = 1
//如果開啟此,將忽略下面的 xdebug.remote_host 的參數

xdebug.remote_host=192.168.x.x
//注意這里是,客戶端的ip<即IDE的機器的ip,不是你的web server>

xdebug.remote_enable=on
xdebug.remote_port = 9001
//注意這里是,客戶端的端口<即IDE的機器的ip,不是你的web server>

xdebug.remote_handler = dbgp
xdebug.auto_trace = 1
xdebug.remote_log = /tmp/xdebug.log
3. 配置deployment

4. Phpstorm Debug配置

5. 開啟phpstorm 數據監聽

6. 設置 debug session

debug session 的工具的目的是設置一個cookie, 讓每次發送數據的時候都會攜帶這個 cookie, 從而識別監聽.

6.1) 安裝工具
https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc

6.2) 點擊圖標設置

6.3) 已經設置了cookie, Key 是?XDEBUG_SESSION, 值是?PHPSTORM

7. 運行頁面

其他調試方式

上面的模式有個缺點,插件是針對于一個標簽頁
快捷鍵:
Mac: Ctrl+Shift+X Windows:Alt+Shift+X

內部模式 1. 設置 web 訪問的服務器

2. 配置調試頁面

我們這里創建的調試頁面的類型是PHP Web Page, 服務器選擇的是剛才已經建立好的服務器

3. 運行測試頁面

自動生成:XDEBUG_SESSION_START
http://example.com/?XDEBUG_SESSION_START=13608

Fiddler工具調試
if (oSession.host == "xxxx")
{
    var sCookie = oSession.oRequest["Cookie"] + ";XDEBUG_SESSION=PHPSTORM;";
    oSession.oRequest.headers.Add("Cookie", sCookie);        
}
命令行
export XDEBUG_CONFIG="idekey=PHPSTORM"
php myscript.php
多人開發模式

https://derickrethans.nl/debugging-with-multiple-users.html
插件下載地址:http://code.activestate.com/komodo/remotedebugging/

其他 1. 查看兼容性

第一次運行的時候可以通過 phpstorm 自帶的工具來檢查配置的兼容性.
Run > Web Server Debug Validation
校驗代碼
:https://gist.github.com/han8g...

2. debug 幫助面板說明

左側
綠色三角形 :?Resume Program,表示將繼續執行,直到下一個中斷點停止。
紅色方形 :?Stop,表示中斷當前程序調試。

上方
第一個圖形示 :?Step Over,跳過當前函數。
第二個圖形示 :?Step Into,進入當前函數內部的程序(相當于觀察程序一步一步執行)。
第三個圖形示 :?Force Step Into,強制進入當前函數內部的程序。
第四個圖形示 :?Step Out,跳出當前函數內部的程式。
第五個圖形示 :?Run to Cursor,定位到當前光標。

參考文章

https://segmentfault.com/a/1190000011387666

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30851.html

相關文章

  • IDEA集成xdebug遠程調試功能

    摘要:遠程調試分為兩部分調試客戶端和服務端。主動去連接的端口,連接成功后,調試開始。當然,單步調試的另一個好處是可以讓初學者快速掌握項目的架構和執行流程。 博客原文鏈接 在使用php調試代碼的時候,我通常都是使用簡單暴力的echo之類的輸出調試。這種調試方法的效率與個人能力正相關,你加一個echo多數是為了驗證自己的一個推測,那么你對代碼越熟悉,你推測的就會越準確,bug解決的就越快,相反...

    haobowd 評論0 收藏0
  • 一文掌握PHP Xdebug 本地與遠程調試

    摘要:原文鏈接一文掌握本地與遠程調試很久沒寫了同樣很很久沒有用了,近期有個簡單的場景要用到,簡單記錄一下關鍵步驟。配置與本地調試的配置不一樣的地方就是和,其他地方大同小異。 原文鏈接:一文掌握PHP Xdebug 本地與遠程調試 很久沒寫PHP了、同樣很很久沒有用XDebug了,近期有個簡單的場景要用到,簡單記錄一下關鍵步驟。 本地調試 本地環境: $ php -v PHP 7.3.4 (c...

    MrZONT 評論0 收藏0
  • 在Docker中使用Xdebug

    摘要:說明開發和調試環境為本地中的,環境為本地下的。再次在容器中抓取端口數據包連接的源地址已經正確再次使用的斷點調試時,控制臺如下所以,使用進行遠程調試時,需要選擇合適的調試模式,在下建議使用遠程模式。 首發于 樊浩柏科學院 我們經常會使用 PhpStorm 結合 Xdebug 進行代碼斷點調試,這樣能追蹤程序執行流程,方便調試代碼和發現潛在問題。博主將開發環境遷入 Docker 后,Xd...

    pakolagij 評論0 收藏0
  • 在Docker中使用Xdebug

    摘要:說明開發和調試環境為本地中的,環境為本地下的。再次在容器中抓取端口數據包連接的源地址已經正確再次使用的斷點調試時,控制臺如下所以,使用進行遠程調試時,需要選擇合適的調試模式,在下建議使用遠程模式。 首發于 樊浩柏科學院 我們經常會使用 PhpStorm 結合 Xdebug 進行代碼斷點調試,這樣能追蹤程序執行流程,方便調試代碼和發現潛在問題。博主將開發環境遷入 Docker 后,Xd...

    jerry 評論0 收藏0
  • XDEBUG 從入門到精通

    摘要:默認關閉如果該設置為,那么將禁用關閉操作符,以便不再隱藏通知警告和錯誤。將寫入垃圾收集統計信息輸出的目錄,確保將運行的用戶具有對該目錄的寫入權限。此設置確定用于將垃圾回收統計信息轉儲到的文件的名稱。 showImg(https://segmentfault.com/img/bVbgEC5?w=480&h=274); 前言 Xdebug是PHP的擴展,用于協助調試和開發。 它包含一個用...

    leejan97 評論0 收藏0

發表評論

0條評論

paulquei

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<