PhpStorm配置Xdebug最完整最詳解教程,100%成功!

php閒雲發表於2019-04-23

前言

很多人好奇網上關於php配置xdebug的教程那麼多,為什麼我還要寫這篇文章?
因為網上的教程配置很亂,很多都是複製貼上,有些配置項根本不需要,也不解釋幹嘛的,而且不夠詳細。

本教程主要應用於Windows,Mac和Linux基本上同理。

配置xdebug擴充套件

只配置Debug,不配置profiler和trace,profiler和trace幹嘛的請百度。
因為大多數情況下是單使用者除錯,所以不需要配置多使用者引數,
如:php.ini 檔案 xdebug.idekey 引數和 PhpStorm的Debug -> DBGp Proxy 。

所以php.ini大概配置如下:

zend_extension = php_xdebug.dll
xdebug.remote_enable = On
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9100

xdebug官網下載地址:https://xdebug.org/download.php
擴充套件一定要裝對,注意區分ts和nts版本,phpinfo()檢視擴充套件是否成功。
推薦 phpEnv整合環境 ,自帶xdebug擴充套件和多版本php

設定PhpStorm

開啟PhpStorm,選單 File -> Settings ,然後找到 Languages & Frameworks -> PHP -> Debug
設定Debug port9100
為什麼不是9000?因為會和一些整合環境的php-cgi或者php-fpm埠衝突.

圖片描述

然後配置Languages & Frameworks -> PHP -> Servers
圖片描述

然後找到PhpStorm右上角電話圖示,開始監聽php debug的連結

圖片描述

開啟 phpEnv整合環境 的 TCP埠程式列表,有9100埠,說明監聽成功

圖片描述

觸發斷點除錯

在你需要的程式碼處打斷點,這是基礎和必須,就不多介紹了。
圖片描述

重點:觸發PhpStorm的debug方式主要有兩種

  1. GET、POST存在XDEBUG_SESSION_START 引數或者cookie裡存在XDEBUG_SESSION,單使用者除錯 值隨意。GET、POST會生成cookie XDEBUG_SESSION,有效期為1個小時(可修改php.ini配置)。很多教程需要下載Xdebug helper等瀏覽器外掛,原理就是請求裡附加cookie。
  2. php.ini 檔案 xdebug.remote_autostart 引數設定為 On 或者1,無需設定GET、POST、cookie。

個人推薦第 1 種,教大家用一種更簡單的方式,不需要下載瀏覽器外掛。
找到PhpStorm右上角
圖片描述
圖片描述
然後點小甲蟲圖示
圖片描述
會開啟瀏覽器訪問你的url,並且攜帶GET引數XDEBUG_SESSION_START,同時生成cookie XDEBUG_SESSION,也就是說,下次(cookie有效期1小時)無需點選小甲蟲,瀏覽器直接輸入,如 www.a.com 或 www.a.com/chat/1/ 即可觸發除錯

圖片描述

寫原創教程不容易,轉載請註明來源,有問題請留言,謝謝!

相關文章