麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

PhpStorm集成xdebug進行斷點調試

2020-03-22 19:41:54
字體:
來源:轉載
供稿:網友
  • 本文介紹如何使用PhpStorm集成xdebug在本地開發環境進行斷點調試的技巧。 我配置的環境是:Windows10 + PhpStorm10.0.1 + PHP5.6。

    1. 下載xdebug的擴展,并配置到php.ini

    zend_extension = d:devphp5.6.28extphp_xdebug-2.5.0-5.6-vc11-x86_64.dllxdebug.remote_enable = Onxdebug.remote_host=localhostxdebug.remote_port=9000xdebug.remote_handler=dbgp

    第一行是加載xdebug的擴展,路徑需根據自己的環境修改。
    第二行是開啟遠程調試;
    第三行是配置進行調試的主機地址;
    第四行是配置進行調試的主機上面會監聽的端口;
    第五行是配置調試連接通信使用的協議,這行不配置也沒關系,默認值就是dbgp。dbgp跟http一樣,是一種通信協議。
    根據remote_host跟remote_port,xdebug就知道該把調試連接發送到哪里。

    2. 配置PhpStorm中的php解釋器

    依次點擊菜單File-Settings,打開如下菜單:

    image
    image

    3. 配置PHP的Debug

    image

    以上截圖是PhpStorm的默認值,紅框部分的Debug port應該與php.ini中的xdebug.remote_port保持一致。所以只有在php.ini中xdebug.remote_port不是9000的時候,才需要去這個地方設置。

    至此,PhpStorm應用xdebug的調試環境就已經配置好了。接下來看看如何使用斷點調試,方法主要有兩種。


    方法一:最原始的方法。

    1)主動開啟PhpStorm對調試端口的監聽

    image

    在工具欄上找到如圖所示的按鈕,點一下就開啟了。

    2)找到合適的代碼位置打斷點

    image

    3)訪問對應的請求,并在請求地址后面添加XDEBUG_SESSION_START的參數,如:
    image
    訪問后就會進入斷點:
    image

    這個方法中:
    第一步的目的是為了讓PhpStorm開啟對xdebug.remote_port端口的監聽,以便接收到xdebug發出的調試請求。
    第三步XDEBUG_SESSION_START參數的值可以隨意寫,它的作用在于開啟一個http的調試會話。這個會話類似平常的登錄會話一樣,xdebug會把這個值寫到cookie里面去:
    image
    只要在http(get或者post)請求中包含XDEBUG_SESSION_START參數或者XDEBUG_SESSION這個cookie中,這個請求就會嘗試進入調試環境。只需要在第一次請求調試的時候加上XDEBUG_SESSION_START的參數,接下來一個小時內都不需要再加這個參數。如果想要停止調試,只要把調試端口監聽關閉即可:
    image


    方法二:跟方法一類似,只不過在第三步的時候,不需要在請求后邊手動添加XDEBUG_SESSION_START參數,而是借助瀏覽器的插件來添加。

    如果使用chrome瀏覽器,可以找到下面這個擴展并安裝:
    image
    安裝完成后,在瀏覽器地址欄旁邊就會出現這個插件的小按鈕:
    image

    1)先進入要調試的頁面,不加XDEBUG_SESSION_START參數

    2)點擊剛安裝插件的按鈕,隨意輸入Xdebug Key,再點擊Set跟Start XDebug Session按鈕,頁面就會刷新進入調試環境。

    這個方法跟方法一本質上沒有區別,就是簡化了輸入XDEBUG_SESSION_START參數的過程而已。


    xdebug進行斷點調試的關鍵在于:xdebug在識別到一個請求需調試的時候,就會用dbgp的協議向remote_host跟remote_port這個地址發送調試請求,當一個位于remote_host上的IDE如PhpStorm正好在監聽remote_port這個端口的調試請求時,就能成功接收到調試信息進行調試。

    本文演示的是xdebug用于本地調試的場景,實際上xdebug還可應用于遠程調試的場景,比如說項目已經上線到了生產環境,通過xdebug的遠程調試功能,就能在本地對生產環境的代碼進行調試。目前我還沒遇到這種調試的需求,所以也沒有去嘗試這個方式的具體實現過程,我在xdebug官方的文檔中看到了類似的介紹,等來將來有必要的時候再來研究吧。

    參考:

    https://xdebug.org/docs/remote
    https://xdebug.org/docs/all_settings

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 毛片小网站 | 在线中文字幕亚洲 | 午夜国产成人 | 国产一区免费视频 | 色毛片 | 91在线视频免费观看 | 黄色大片大毛片 | 国产羞羞视频在线观看 | 黄网站进入 | 曰韩精品| 久久国产免费 | 欧美一级网 | 女人裸体让男人桶全过程 | 亚洲视频综合网 | 中文字幕免费播放 | 黄污视频在线看 | 国产一区在线视频观看 | 欧美视频一区二区三区四区 | 精品国产乱码一区二区 | 国产一区二区不卡视频 | 热re91久久精品国产99热 | 国产韩国精品一区二区三区久久 | zzzzzzzxxxxxx日本人 | 黄色免费电影网址 | 国产盼盼私拍福利视频99 | 成人激情在线 | 久久99精品久久久久久236 | 精精国产xxxx视频在线播放7 | 欧美a区 | 在线成人免费视频 | 姑娘第四集免费看视频 | 欧美黄色大片免费观看 | 欧美18一19sex性护士农村 | 国产无限资源在线观看 | 91精品国产综合久久婷婷香蕉 | 88xx成人永久免费观看 | 热re91久久精品国产99热 | 国产精品久久久久久久久粉嫩 | 日韩在线激情 | 爱操av | 免费毛片视频 |