亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

使用 Xdebug 在 PHPStorm 中調(diào)試 PHP 程序(框架/原生均適用)

cloud / 2095人閱讀

摘要:紅色方形,表示中斷當(dāng)前程序調(diào)試。第三個(gè)圖形示,強(qiáng)制進(jìn)入當(dāng)前函數(shù)內(nèi)部的程序??蚣苷f(shuō)明加載的文件列表可以觀察到所有全局變量當(dāng)前局部變量的數(shù)值可以新增變量,觀察變量隨著程序執(zhí)行的變化。參考文章使用與調(diào)試一

序言

Xdebug 作為 PHP 調(diào)試工具,提供了豐富的調(diào)試函數(shù)和配置,可以直觀的看到 PHP 源代碼的步進(jìn)和性能數(shù)據(jù),以便優(yōu)化PHP代碼。

使用 phpstorm + xdebug 來(lái)調(diào)試 php 程序是借助強(qiáng)大的IDE監(jiān)聽功能, 更方便的調(diào)試程序. 提高我們的編碼效率, 固然 var_dump, print_r 等函數(shù)也能提供相應(yīng)的功能, 但是自動(dòng)化的工具更能夠事半功倍. 下面我根據(jù)自己的使用介紹下如何進(jìn)行調(diào)試和配置.

, 一種方式是用外部設(shè)置的 session, 另外一種是在 phpstorm 中配置頁(yè)面入口然后使用內(nèi)置的監(jiān)聽來(lái)訪問, 原理相同, 下面我們從原理開始講解

調(diào)試原理

配置調(diào)試環(huán)境 1) 配置 xdebug

這里使用了最小化配置, 對(duì)于 profile 等功能沒有配置

[xdebug]
zend_extension="/usr/local/opt/php70-xdebug/xdebug.so"
xdebug.remote_enable=1          # 啟用遠(yuǎn)程調(diào)試
xdebug.remote_connect_back=1    # 忽略 remote_host 配置, 不關(guān)注主機(jī)配置, 開發(fā)者使用最舒服
xdebug.remote_port=9050         # 監(jiān)聽端口

注意 這里監(jiān)聽端口默認(rèn)是 9000 , 和 php 默認(rèn)監(jiān)聽重復(fù), 注意盡量不用使用 9000, 以免出現(xiàn)不生效的情況.

2) 設(shè)置 phpstorm 配置并開啟監(jiān)聽

這里是讓 phpstorm 通過監(jiān)聽端口的方式獲取到xdebug 斷點(diǎn)傳送過來(lái)的數(shù)據(jù)

2.1) 配置端口

我們這里監(jiān)聽的是 9500 端口, 和 xdebug 配置監(jiān)聽數(shù)據(jù)端口一致

2.2) 開啟phpstorm 數(shù)據(jù)監(jiān)聽

切換 “開始監(jiān)聽PHP調(diào)試連接” 按鈕。

3) 在 phpstorm 中設(shè)置斷點(diǎn)

點(diǎn)擊行號(hào)右側(cè)空白, 設(shè)置斷點(diǎn)

4) 設(shè)置 debug session

debug session 的工具的目的是設(shè)置一個(gè)cookie, 讓每次發(fā)送數(shù)據(jù)的時(shí)候都會(huì)攜帶這個(gè) cookie, 從而識(shí)別監(jiān)聽.

4.1) 安裝工具

安裝 chrome 擴(kuò)展 Xdebug helper

4.2) 點(diǎn)擊 圖標(biāo)設(shè)置session

已經(jīng)設(shè)置了cookie, Key 是 XDEBUG_SESSION, 值是 PHPSTORM, 我認(rèn)為這里的值無(wú)關(guān)緊要, 對(duì)于 phpstorm 來(lái)說(shuō), 是能夠監(jiān)控到的.

5) 運(yùn)行頁(yè)面

這里我們?cè)跀帱c(diǎn)位置可以看到輸出的內(nèi)容項(xiàng)目

另一種方式: 內(nèi)部調(diào)用

這里的另外一種方式的服務(wù)器配置方式和流程完全一致, 就是第四步和第五步有所不同, 實(shí)現(xiàn)的原理是在phpstorm中設(shè)置運(yùn)行的服務(wù)器, 然后通過 debug 模式自動(dòng)設(shè)置 XDEBUG_SESSION, 并且自動(dòng)開啟監(jiān)聽.

內(nèi)部調(diào)用: 4) 設(shè)置 debug session 4.1) 設(shè)置 web 訪問的服務(wù)器

例如我這里的本地域名是 l.dailian.sour-lemon.com, 我們需要配置一個(gè)本地服務(wù)器來(lái)打開這個(gè)頁(yè)面, 我們首先配置一臺(tái)服務(wù)器.

注意 這里的配置的域名是你本地已經(jīng)配置好開發(fā)環(huán)境的域名, 端口號(hào)是 本地開發(fā)所使用的端口, 我這里是 l.dailian.sour-lemon.com 和 80

4.2) 配置調(diào)試頁(yè)面

我們這里創(chuàng)建的調(diào)試頁(yè)面的類型是 PHP Web Application, 服務(wù)器選擇的是剛才已經(jīng)建立好的服務(wù)器

內(nèi)部調(diào)用: 5) 運(yùn)行測(cè)試頁(yè)面

這樣運(yùn)行的情況下上面的 2.2) 開啟phpstorm 數(shù)據(jù)監(jiān)聽 步驟可以忽略掉, 這里不需要開啟這個(gè)監(jiān)聽.

5.1) 開始 debug

點(diǎn)擊 debug 按鈕, 這里會(huì)自動(dòng)打開一個(gè)頁(yè)面并且傳遞一個(gè)唯一的ID(可能是進(jìn)程 ID)作為 debug 值

打開的url地址是: http://l.dailian.sour-lemon.com/?XDEBUG_SESSION_START=13608, 這里的數(shù)值是會(huì)變動(dòng)的.

5.2) 查看 debug 面板

打開 debug 面板, 會(huì)看到相對(duì)應(yīng)的監(jiān)聽 idekey, 這里和上一步設(shè)置的key是一致的, 同樣也和 cookie 中的設(shè)置的 XDEBUG_SESSION 值一致

其他幫助 1. 查看兼容性

第一次運(yùn)行的時(shí)候可以通過 phpstorm 自帶的工具來(lái)檢查配置的兼容性.

Run > Web Server Debug Validation

2. debug 幫助面板說(shuō)明

左側(cè)
綠色三角形 : Resume Program,表示將繼續(xù)執(zhí)行,直到下一個(gè)中斷點(diǎn)停止。
紅色方形 : Stop,表示中斷當(dāng)前程序調(diào)試。

上方
第一個(gè)圖形示 : Step Over,跳過當(dāng)前函數(shù)。
第二個(gè)圖形示 : Step Into,進(jìn)入當(dāng)前函數(shù)內(nèi)部的程序(相當(dāng)于觀察程序一步一步執(zhí)行)。
第三個(gè)圖形示 : Force Step Into,強(qiáng)制進(jìn)入當(dāng)前函數(shù)內(nèi)部的程序。
第四個(gè)圖形示 : Step Out,跳出當(dāng)前函數(shù)內(nèi)部的程式。
第五個(gè)圖形示 : Run to Cursor,定位到當(dāng)前光標(biāo)。

框架說(shuō)明
Frames : 加載的文件列表
Variables : 可以觀察到所有全局變量、當(dāng)前局部變量的數(shù)值
Watches : 可以新增變量,觀察變量隨著程序執(zhí)行的變化。

參考文章

Zero-configuration Web Application Debugging with Xdebug and PhpStorm

使用 PHPStorm 與 Xdebug 調(diào)試 Laravel (一)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/25934.html

相關(guān)文章

  • 使用 PHPStormXdebug 調(diào)試 Laravel (二)

    摘要:的方式不僅僅局限于框架,同樣適用于與其他框架,也適用于原生的代碼。學(xué)會(huì)使用這種方式之后,一般很少使用,,,等原生或框架輔助函數(shù)進(jìn)行了。 環(huán)境 系統(tǒng)版本:OSX 10.11.4 PHP 版本:7.0.5 Xdebug 版本:2.4.0 Laravel 版本:5.1.31 PHPStorm 版本:10.0.4 根據(jù)上篇文章的配置,在工作時(shí)會(huì)發(fā)現(xiàn),我們需要經(jīng)常調(diào)整 PHP Web App...

    Ashin 評(píng)論0 收藏0
  • 簡(jiǎn)杰的php編程分享-1.2 xdebug的實(shí)際運(yùn)用

    摘要:?jiǎn)螕舸税粹o可暫停程序執(zhí)行。單擊此按鈕,通過標(biāo)準(zhǔn)關(guān)閉腳本從外部終止當(dāng)前進(jìn)程。實(shí)際上,插入符號(hào)處的當(dāng)前行有一個(gè)臨時(shí)斷點(diǎn)集,一旦程序執(zhí)行暫停,就會(huì)刪除它。心中始終十分抗拒,導(dǎo)致功能變更延期。 介紹 在 上一期 中我們已經(jīng)把 xdebug 和 phpstorm 的關(guān)聯(lián)配置設(shè)置好了,接下來(lái)我將會(huì)深入的介紹 debug 的運(yùn)用。分為3點(diǎn)內(nèi)容 快速找到錯(cuò)誤的原因 輔助讀懂比效復(fù)雜的代碼 代碼重構(gòu) ...

    ls0609 評(píng)論0 收藏0
  • PHPStorm + Xdebug 配置使用教程

    摘要:下載是一個(gè)開放源代碼的程序調(diào)試器即一個(gè)工具,可以用來(lái)跟蹤,調(diào)試和分析程序的運(yùn)行狀況。全部可用配置可參考官方的一個(gè)鏈接設(shè)置服務(wù)器配置完成后,需要對(duì)作一些設(shè)置,使其能夠監(jiān)聽到瀏覽器的請(qǐng)求。 下載Xdebug Xdebug是一個(gè)開放源代碼的PHP程序調(diào)試器(即一個(gè)Debug工具),可以用來(lái)跟蹤,調(diào)試和分析PHP程序的運(yùn)行狀況。 Xdebug官方網(wǎng)站:http://xdebug.org/ 配置...

    gself 評(píng)論0 收藏0
  • PhpStorm連接docker容器內(nèi)的php XDebug進(jìn)行斷點(diǎn)調(diào)試

    摘要:連接容器內(nèi)的進(jìn)行斷點(diǎn)調(diào)試進(jìn)行斷點(diǎn)調(diào)試盡管不像其他語(yǔ)言那樣方便,但是有些是有確實(shí)有其用處,比如調(diào)試循環(huán)內(nèi)的數(shù)據(jù)異常時(shí)。 PhpStorm連接容器內(nèi)的XDebug進(jìn)行斷點(diǎn)調(diào)試 php進(jìn)行斷點(diǎn)調(diào)試盡管不像其他語(yǔ)言那樣方便,但是有些是有確實(shí)有其用處,比如調(diào)試循環(huán)內(nèi)的數(shù)據(jù)異常時(shí)。在php于phpstorm都安裝在同一環(huán)境下時(shí),配置phpstorm的xdebug調(diào)試并不是多困難的事情,但是如果你使...

    XGBCCC 評(píng)論0 收藏0
  • 使用xdebug+phpstorm+(chrome|postman) 調(diào)試php

    摘要:基本信息安裝下載擴(kuò)展配置配置新建注如果不使用路徑映射,將只能調(diào)試框架入口文件配置插件地址配置測(cè)試開啟編輯器監(jiān)聽瀏覽器訪問項(xiàng)目打開,可以看到控制臺(tái)已經(jīng)打開斷點(diǎn)調(diào)到下一個(gè)斷點(diǎn),可以看到效果了使用調(diào)試安裝插件使用請(qǐng)求進(jìn)入斷 1.基本信息: window 7 php:7.1.3 phpstorm:2017.1 xdebug:2.5.1 postman postman interceptor c...

    whjin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<