環境
- 系統版本:OSX 10.11.4
- PHP 版本:7.0.5
- Xdebug 版本:2.4.0
- Laravel 版本:5.1.31
- PHPStorm 版本:10.0.4
Xdebug 配置
本機的 Xdebug 配置文件位于 /usr/local/etc/php/7.0/conf.d/ext-xdebug.ini
打開文件添加并以下代碼:
[xdebug]
zend_extension="/usr/local/Cellar/php70-xdebug/2.4.0/xdebug.so"
xdebug.idekey=PHPSTORM
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=10000
xdebug.profiler_enable=1
xdebug.profiler_output_dir="/Users/LuisEdware/Downloads/Xdebug"
PHPStorm 配置
打開 PHPStorm,首先配置 PHP 的使用版本與 Interpreter
Preferences => Language & Frameworks -> PHP

配置 PHP 的使用版本
- PHP language level :選擇 PHP 的使用版本
- Interpreter : 配置 PHP 可執行文件的位置

配置 PHP 可執行文件的位置
- Name : 命名
- PHP executable : PHP 可執行文件位置,本機使用 Homebrew 安裝的 PHP,位置在
/usr/local/Cellar/php70/7.0.5/bin/php
然后配置 PHP Debug 時的端口,將端口 9000
修改成 10000

配置 Debug 端口
接著修改 Run => Edit configurations
,點擊彈出窗口左上角加號,新增一個 PHP Web Application

Run => Edit configurations

PHP Web Application
- Name : 命名
- Server : 服務器,沒有跟著下圖創建
- Start URL : 要開始 Debug 的 URL
跟隨著選項新增一個 Server

Server
- Name : 命名
- Host : 主機,我在本地將需要 Debug 的項目映射到
cowcat.app
上 - Port : 端口
- Debugger : 除了 Xdebug 還有 Zend Debugger,選擇 Xdebug
設置斷點,運行Run => Debug 'Cowcat'

設置斷點

Debug Cowcat
當瀏覽器運行指定 URL(就是 PHP Web Application 配置時的 Start URL) 時,出現 Xdebug 控制臺,根據控制臺的信息和操作進行 Debug

Xdebug 控制臺
控制臺的功能介紹如下:
- 左側綠色三角形 :
Resume Program
,表示將繼續執行,直到下一個中斷點停止。 - 左側紅色方形 :
Stop
,表示中斷當前程序調試。 - 上方第一個圖形示 :
Step Over
,跳過當前函數。 - 上方第二個圖形示 :
Step Into
,進入當前函數內部的程序(相當于觀察程序一步一步執行)。 - 上方第三個圖形示 :
Force Step Into
,強制進入當前函數內部的程序。 - 上方第四個圖形示 :
Step Out
,跳出當前函數內部的程式。 - 上方第五個圖形示 :
Run to Cursor
,定位到當前光標。 - Variables :可以觀察到所有全局變量、當前局部變量的數值
- Watches : 可以新增變量,觀察變量隨著程序執行的變化。