不少人好奇網上關於php配置xdebug的教程那麼多,爲何
我還要寫這篇文章?
由於網上的教程配置很亂,不少都是複製粘貼,有些配置項根本不須要,也不解釋幹嗎的,並且不夠詳細。php
本教程主要應用於Windows,Mac和Linux基本上同理。瀏覽器
只配置Debug,不配置profiler和trace,profiler和trace幹嗎的請百度。
由於大多數狀況下是單用戶調試,因此不須要
配置多用戶參數,
如:php.ini 文件 xdebug.idekey 參數和 PhpStorm的Debug -> DBGp Proxy 。cookie
因此php.ini大概配置以下:ide
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擴展和多版本phpphp-fpm
打開PhpStorm,菜單 File -> Settings ,而後找到 Languages & Frameworks -> PHP -> Debug
設置Debug port
爲9100
爲何不是9000?由於會和一些集成環境的php-cgi或者php-fpm端口衝突.url
而後配置Languages & Frameworks -> PHP -> Servers
spa
而後找到PhpStorm右上角電話圖標,開始監聽php debug的連接插件
打開 phpEnv集成環境 的 TCP端口進程列表,有9100端口,說明監聽成功debug
在你須要的代碼處打斷點,這是基礎和必須,就很少介紹了。3d
重點:觸發PhpStorm的debug方式主要有兩種
XDEBUG_SESSION_START
參數或者cookie裏存在XDEBUG_SESSION
,單用戶調試 值隨意。GET、POST會生成cookie XDEBUG_SESSION
,有效期爲1個小時(可修改php.ini配置)。不少教程須要下載Xdebug helper
等瀏覽器插件,原理就是請求裏附加cookie。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/ 便可觸發調試
寫原創教程不容易,轉載請註明來源,有問題請留言,謝謝!