使用 PHPStorm 与 Xdebug 调试 Laravel
本文的目的学会使用除了 var_dump,echo,printf
的调试方法
环境
- 系统版本: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 language level :选择 PHP 的使用版本
- Interpreter : 配置 PHP 可执行文件的位置
- Name : 命名
- PHP executable : PHP 可执行文件位置,本机使用 Homebrew 安装的 PHP,位置在
/usr/local/Cellar/php70/7.0.5/bin/php
然后配置 PHP Debug 时的端口,将端口 9000
修改成 10000
接着修改 Run => Edit configurations
,点击弹出窗口左上角加号,新增一个 PHP Web Application
- Name : 命名
- Server : 服务器,没有跟着下图创建
- Start URL : 要开始 Debug 的 URL
跟随着选项新增一个 Server
- Name : 命名
- Host : 主机,我在本地将需要 Debug 的项目映射到
cowcat.app
上 - Port : 端口
- Debugger : 除了 Xdebug 还有 Zend Debugger,选择 Xdebug
设置断点,运行 Run => Debug 'Cowcat'
当浏览器运行指定 URL(就是 PHP Web Application 配置时的 Start URL) 时,出现 Xdebug 控制台,根据控制台的信息和操作进行 Debug
控制台的功能介绍如下:
- 左侧绿色三角形 :
Resume Program
,表示將继续执行,直到下一个中断点停止。 - 左侧红色方形 :
Stop
,表示中断当前程序调试。 - 上方第一个图形示 :
Step Over
,跳过当前函数。 - 上方第二个图形示 :
Step Into
,进入当前函数內部的程序(相当于观察程序一步一步执行)。 - 上方第三个图形示 :
Force Step Into
,強制进入当前函数內部的程序。 - 上方第四个图形示 :
Step Out
,跳出当前函数內部的程式。 - 上方第五个图形示 :
Run to Cursor
,定位到当前光标。 - Variables : 可以观察到所有全局变量、当前局部变量的数值
- Watches : 可以新增变量,观察变量随着程序执行的变化。
本文的目的学会使用除了 var_dump,echo,printf
的调试方法
环境
- 系统版本:OSX 10.11.4
- PHP 版本:7.0.5
- Xdebug 版本:2.4.0
- Laravel 版本:5.1.31
- PHPStorm 版本:10.0.4
根据上篇文章的配置,在工作时会发现,我们需要经常调整 PHP Web Application
的 URL 进行 Debug。
举个例子,假如想要 Debug
菜单列表,我需要修改成 /menu/
,如果想要 Debug
新增菜单页面,我需要修改成 /menu/create
。 这样进行 Debug
的过程十分烦琐,所以需要更加友好的操作方式,以便加快工作效率。
PHPStorm 配置
打开 PHPStorm,打开配置面板 Preferences => Language & Frameworks -> PHP -> Debug
。
点击蓝色链接 Use debugger bookmarklets to initiate debugging from your favorite browser
。
点击页面左下角的蓝色按钮,生成 PHPStorm Debug 的专属书签。
然后将生成好的 DEBUG
书签 Start debugger
、 Stop debugger
、 Debug this page
拖动保存到浏览器的书签栏中,方便随时进行 Debug
。
监听浏览器的 Debug
操作, Run -> Start Listening for PHP Debug Connections
然后在浏览器输入想要进行 Debug
的页面,然后点击书签栏的 Start debugger
,刷新页面,就能在 PHPStorm
里面看见 Debug
的控制台了。
PHPStorm 的 Debug 方式不仅仅局限于 Laravel 框架,同样适用于 ThinkPHP 与其他框架,也适用于原生的 PHP 代码。 学会使用这种方式之后,一般很少使用 echo
, var_dump
, dd()
, dump()
等原生或框架辅助函数进行 Debug
了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: 使用 Laravel 编写自定义命令
下一篇: Linux 安装 MySQL
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论