使用 PHPStorm 与 Xdebug 调试 Laravel

发布于 2024-12-31 19:24:26 字数 3571 浏览 2 评论 0

本文的目的学会使用除了 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 debuggerStop debuggerDebug this page 拖动保存到浏览器的书签栏中,方便随时进行 Debug

监听浏览器的 Debug 操作, Run -> Start Listening for PHP Debug Connections

然后在浏览器输入想要进行 Debug 的页面,然后点击书签栏的 Start debugger ,刷新页面,就能在 PHPStorm 里面看见 Debug 的控制台了。

PHPStorm 的 Debug 方式不仅仅局限于 Laravel 框架,同样适用于 ThinkPHP 与其他框架,也适用于原生的 PHP 代码。 学会使用这种方式之后,一般很少使用 echovar_dumpdd()dump() 等原生或框架辅助函数进行 Debug 了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

原来是傀儡

暂无简介

文章
评论
28 人气
更多

推荐作者

mb_TnrMmzAf

文章 0 评论 0

_1999

文章 0 评论 0

grace999

文章 0 评论 0

混浊又暗下来

文章 0 评论 0

像极了他

文章 0 评论 0

情何以堪。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文