[PHP] php + phpstudy + phpstrom + xdebug + postman開啓調試

主體 php + phpstudy + phpstrom + xdebug + postman + vue + chrome

使用的是先後端分離的開發方式,vue 在 webpack 經過代理進行請求轉接,以前在使用 node 開發的時候進行斷點調試可以根據請求的接口到達斷點地方,按步查詢代碼的執行。然而在 php 對接口的調試就不是那麼舒服了,目前的框架內部只實現了錯誤日誌打印,很差更準確的定位問題的所在,因而就開始了先後端分離狀況下 php 調試代碼探尋。php

chrome

安裝 xdebug helper
19
而後在選項中獎 IDE key 設置爲 phpstormvue

phpstudy

  1. 先在 phpstudy 中: 配置文件->php 擴展與設置中->php 擴展->Xdebug 打開
    01node

  2. 打開 php.iniwebpack

[XDebug]
xdebug.profiler_output_dir="D:\phpStudy\PHPTutorial\tmp\xdebug"
xdebug.trace_output_dir="D:\phpStudy\PHPTutorial\tmp\xdebug"
xdebug.remote_log="D:\phpStudy\PHPTutorial\tmp\xdebug.log"
zend_extension="D:\phpStudy\PHPTutorial\php\php-7.0.12-nts\ext\php_xdebug.dll"
xdebug.remote_enable =1
xdebug.remote_handler = "dbgp"
xdebug.idekey = PHPSTORM
xdebug.remote_host = "127.0.0.1"
xdebug.remote_port = 9000

該開啓的開啓,該添加的添加,注意路徑正確,根據我的路徑更改web

  1. 重啓服務器,查看 phpinfo()中是否有 xdebug

phpstorm

  1. 在 setting->Languages and Frameworks->PHP
    02
    這是已經添加好的,沒有配置過須要講 php.exe 路徑添加一下
    03ajax

  2. PHP->debug
    04chrome

    這裏 debug port 設置爲 php.ini 裏面設置的那個端口後端

  3. PHP->debug->DBGp proxy
    05api

  4. PHP->Servers
    06瀏覽器

  5. 頭部導航->Run->Edit Configurations
    按照預設模板
    07

  6. 在目錄下的 index.php 打個斷點

  7. 點擊甲蟲開啓調試,點擊電話開啓監聽
    08
    這時候你的默認瀏覽器會自動打開一個 tab
    10
    而後打開 phpstorm 能夠看到斷點已經生效了
    09

postman

  1. 斷點
    在 model 下的 mine_date 中打一個斷點
    14

  2. 請求地址
    11
    能夠看到可以訪問,可以獲取數據,可是並無走 debug,斷點不生效

  3. 在開啓調試的時候,會在默認瀏覽器打開一個 tab,這個網址http://api.h5.com:5555/?XDEBUG_SESSION_START=12087,能夠進入調試,那將?XDEBUG_SESSION_START=12087放到postman請求的網址後面就行了

    12
    進入 loading 了,很是好

15

13
能夠看到,進入到 model 裏面的 mine_date 這個方法裏面了,斷點生效了

web

  1. 跟 postman 差很少,進行 http 請求的時候將?XDEBUG_SESSION_START=12087 添加到 url 後面就行了
    16

而後 ajax 請求接口
17

php 進入調試
18

相關文章
相關標籤/搜索