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

首頁 > 編程 > PHP > 正文

php調試利器 xdebug

2020-03-22 20:01:55
字體:
來源:轉載
供稿:網友
  • 之前整理在印象筆記中,現在搬出來。分本地調試和遠程調試。本文親測通過并截圖,有問題歡迎留言探討。 (參考網上多位前輩的博客,整理在筆記里忘記保存原文鏈接,這里無法貼出鏈接,望見諒) # 痛處
    一般php項目調試都用echo, var_dump()之類的函數調試,項目大的話很不方便,也很低效;
    # 預備
    安裝xdebug擴展; 網址https://xdebug.org/download.php windows找相應的版本下載即可,linux下在https://xdebug.org/wizard.php這個頁面把 php -i 輸出結果放里面會告訴你怎么弄,相當方便; 如下: 1,修改php配置文件,在最后添加. zend_extension = 'E:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll'; [xdebug] xdebug.auto_trace=On xdebug.collect_params=On xdebug.collect_vars = On ;收集變量 xdebug.collect_return = On ;收集返回值 xdebug.trace_output_dir='e:/wamp/tmp/debuginfo' xdebug.remote_enable = on xdebug.remote_handler = dbgp xdebug.remote_host= localhost ;用于遠程調試 服務器的地址 xdebug.remote_connect_back = 1;用于遠程調試 xdebug.remote_port = 9000 xdebug.idekey = PHPSTORM xdebug.profiler_enable = on xdebug.profiler_enable_trigger = off xdebug.profiler_output_name = cachegrind.out.%t.%p xdebug.profiler_output_dir = 'E:/wamp/tmp/debuginfo' xdebug.show_local_vars=0 xdebug.show_exception_trace = On ;開啟異常跟蹤 xdebugbug.max_nesting_level = 10000 phpinfo中驗證xdebug擴展是否啟用。 服務端配置完成! 2,phpstrom 配置

    這部配置的端口意思是 IDE 會在本機監聽9000端口

    在項目右上角debug配置中 根據項目選擇類型如下,網站選擇web application,Name項自定義 server項沒有,點擊后面按鈕配置

    配置starturl(入口地址)

    完成配置如下:

    點那個蟲子就開啟了調試,會在上一步我們配置的默認瀏覽器打開starturl,如下:

    在代碼里打一個斷點,刷新一下頁面,調試窗口會顯示詳細信息, 上面有操作按鈕,如下:

    # 優化地方

    上面調試步驟很麻煩,我們都是希望想調試的時候就調試,推薦插件 chrome 插件 xdebug helper 方便 隨時調試;也是個臭蟲的圖標,安裝上配置一下,如下: 在需要調試的頁面啟用插件

    IDE中點亮電話的圖標,啟動監聽,如下:

    配置結束,代碼里想調試直接打斷點,完后瀏覽器訪問頁面,運行到斷點IDE就會監聽debug信息,并把信息顯示出來;
    #xdebug 遠程調試
    有點項目在本地開發很難搭建環境,我們需要在遠程開發和調試。也就是在本地去調試遠程開發機上的代碼。
    !0,遠程調試原理: 左邊是調試客戶端,比如IDEA、eclipse之類的IDE,右邊是xdebug,運行按照如下步驟進行: 1, IDE監聽一個調試端口,默認是9000,可以自行配置。 2, 用戶訪問右邊php環境的server,我們這里使用瀏覽器訪問(隨便在那都行,為方便選擇本地瀏覽器),一般IDE會自動幫我們在正常的url后面增加 XDEBUG_SESSION_START=一個隨機數 的參數。這個參數是用來通知xdebug主動連接IDE的9000端口進行調試的,沒有這個參數,xdebug不會去主動連接IDE, 調試也就不會觸發。 3, xdebug主動去連接IDE的9000端口, 連接成功后,調試開始。 xdebug是如何知道IDE監聽9000端口的呢? xdebug有兩個配置:remote_host和remote_port,分別代表IDE的ip地址和監聽端口。由此可見,IDE和xdebug必須協商好監聽端口。 端口好辦,但是如果我的ip會變化,那我換一個ip,豈不是要修改下xdebug.remote_host配置嗎?好麻煩!!! 不知道ip沒關系,xdebug可以自己知道,只要設置 xdebug.remote_connect_back 為1就可以了,其運行原理見下圖,實現很簡單,xdebug可以從http請求的頭部獲取ip 地址,之后就用該ip地址作為remote_host來連接。 !1,服務端環境安裝xdebug(方法如上)
    最關鍵的兩個設置xdebug.remote_host和xdebug.remote_connect_back, xdebug.remote_host 要設置成你本機的地址,多個用逗號隔開 xdebug.remote_connect_back要設置成1或者on 設置完這個會自動忽略remote_host的設置,如果本地是自動獲取ip或者多人的話開啟這個比較好

    服務端的配置已完成!

    !2,IDE配置 (調試遠端代碼一般會和遠端開發同時進行,遠端調試需要打開一個本地和遠端的通道,要不接受不到調試信息) > 新建一個遠端的php解釋器 配置正確的話,如下圖:

    > 新建項目 或者 把本地已有的項目和遠端的項目映射一下 都行

    > 在項目中配置 sftp

    再配置mapping 把遠端代碼下載下來,如下: 來個截圖,好累啊

    這個時候看我們開始配置的那個遠端解釋器 之前警告沒了,因為我們配置了mapping

    配置debug,步驟同上,不一樣的地方是配置 path mapping

    開始調試了 打斷點 瀏覽器訪問遠端的地址 debug窗口已經有調試信息了

    忽略我的504 這是別的原因造成的和xdebug沒關系 因為是測試項目懶得管 ~ ~ 開發遠端項目我們剛才配置好了sftp,我們本地修改可以通過如下配置自動同步到遠端 我一般選 ctrl + s 那項 按ctrl + s會自動同步到遠端開發機 PHP編程

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

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 午夜精品成人一区二区 | 国产成人高清在线观看 | 日韩黄在线 | 亚洲尻逼视频 | 色七七久久影院 | 夜添久久精品亚洲国产精品 | 一级黄色大片在线观看 | 国产精品国产成人国产三级 | 91在线视频播放 | 国产精品中文在线 | 国产91亚洲精品一区二区三区 | 国产一国产一级毛片视频在线 | 特级西西444www大精品视频免费看 | 国产91一区二区三区 | 国产一区二区三区在线免费观看 | 国产99久久精品一区二区300 | 午夜精品久久久久久久99热浪潮 | 男人久久天堂 | 久久亚洲美女视频 | 日韩欧美动作影片 | 欧美精品一区二区三区久久久 | 精品在线视频播放 | 欧美大荫蒂xxx | 国产成人av在线播放 | 深夜影院一级毛片 | 国产盼盼私拍福利视频99 | 国产精品久久久久久一区二区三区 | 欧美一级α | 天天草天天色 | 国产一区二区三区在线观看视频 | 毛片大全免费看 | 91 在线视频观看 | 欧美成人高清视频 | 久久精品资源 | 黄色特级大片 | 国产亚洲精品综合一区91555 | 女人a级毛片 | 久久久tv| 黄色网址进入 | 久久综合九色综合久久久精品综合 | 久久蜜桃精品一区二区三区综合网 |