如何在 PhpStorm 使用 Xdebug On Demand?

   2016-09-08 0
核心提示:Xdebug 是 PhpStorm debug 的必備工具,但是啟動 Xdebug 又會使 Composer 變慢,實務上很兩難,這個問題在 PhpStorm 2016.2 得到完美解決,平時不用開啟 Xdebug,PhpStorm 會在需要 debug 時才自動啟動 Xdebug,不會影響 Composer 執行速度。Motivation Compo

Xdebug 是 PhpStorm debug 的必備工具,但是啟動 Xdebug 又會使 Composer 變慢,實務上很兩難,這個問題在 PhpStorm 2016.2 得到完美解決,平時不用開啟 Xdebug,PhpStorm 會在需要 debug 時才自動啟動 Xdebug,不會影響 Composer 執行速度。

Motivation

如何在 PhpStorm 使用 Xdebug On Demand?

Composer 在某一個版本以後,只要在 php.ini 有啟動 Xdebug,就會出現以上黃色警告訊息。

主要是 Xdebug 會大幅影響 Composer 解析套件相依時的執行速度,因此不建議你開啟 Xdebug。

在之前並沒好的解法,除非你不使用 Xdebug,但 Xdebug 又是 PhpStorm 的大絕,也只好犧牲 Composer 了。

Version

PHP 7.0.8

MAMP PRO 3.5.2

PhpStorm 2016.2

設定 Xdebug On Demand

本文以 MAMP PRO 為例,在 PhpStorm 設定 Xdebug on Demand。

如何在 PhpStorm 使用 Xdebug On Demand?

PhpStorm -> Preferences -> Languages & Frameworks -> PHP

  • PHP Language level : 選擇 7
  • Interpreter : 按 ... 設定 PHP interpreter。

如何在 PhpStorm 使用 Xdebug On Demand?

+ 新增 PHP interpreter,因為以 MAMP PRO 為例,選擇 Other Local...

如何在 PhpStorm 使用 Xdebug On Demand?

  • Name : 輸入 PHP 7
  • PHP executable : 選擇 PHP interpreter 所在路徑,以 MAMP PRO 為例,其路徑為 /Applications/MAMP/bin/php/php7.0.8/bin/php 。注意此時 php.ini 並沒有啟動 xdebug.so ,所以顯示 Debugger: Not installed
  • Debugger extension : 選擇 xdebug.so 所在路徑,以 MAMP PRO 為例,其路徑為 /Applications/MAMP/bin/php/php7.0.8/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so

如何在 PhpStorm 使用 Xdebug On Demand?

設定好了之後,就可以選擇剛剛設定的 PHP7

如何在 PhpStorm 使用 Xdebug On Demand?

在單元測試中設定中斷點,按熱鍵 ? + ? + D,程式碼依舊會在中斷點停止,所有變數也可以正常顯示。

如何在 PhpStorm 使用 Xdebug On Demand?

由於沒有在 php.ini 啟動 xdebug.so ,Composer 再也不會抱怨 Xdebug 已經啟動,可以全速執行。

Conclusion

  • Xdebug 與 Composer 一直是無解的問題,透過 PhpStorm 2016.2,我們終於可以兼顧 Xdebug 的便利與 Composer 的速度。

Reference

 
标签: Xdebug PhpStorm
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • php开启xdebug扩展 php xdebug断点调试
    php开启xdebug扩展 php xdebug断点调试
    1、下载Xdebug(先看php下的ext文件夹(C:\xampp\php\ext)下有没有php_xdebug.dll文件,如果有的话,就不用下了。)到目前为止,Xdebug的最新版本为2.7.0,可以前往Xdebug官方网站下载与自己的PHP版本匹配的Xdebug模块文件。由于笔者使用的是php5.6.37版本,
    02-09
  • PHP 设置调试工具XDebug PHPStorm IDE
    PHP 设置调试工具XDebug PHPStorm IDE
    先下载PHP扩展Xdebughttps://xdebug.org, 可以复制自己的phpinfo粘贴到https://xdebug.org/wizard.php中, 会生成需要下载的版本, php.ini的设置语句.下载好之后放入php目录的ext文件夹中, 然后设置php.ini, 在最后加上zend_extension = C:\path\php\ext\php_x
  • PHPStorm+Xdebug断点调试PHP
    PHPStorm+Xdebug断点调试PHP
    前言:何为DEBUG?相信很多程序员都知道debug这个单词,也明白它的意思,但是对于这词的由来,恐怕少有人知道。关于debug的由来,要追溯到1937年。1937年,美国青年霍德华.艾肯找到IBM公司为其投资200万美元研制计算机,第一台成品艾肯把它取名为:马克1号(m
  • [原]跨平台PHP调试器设计及使用方法——探索和设计
    [原]跨平台PHP调试器设计及使用方法——探索和
    在 《跨平台PHP调试器设计及使用方法——立项》 一文中,我确定了使用xdebug作为调试器插件部分的基础组件。xdebug提供了一个远程调试的功能(相关资料可以详见https://xdebug.org/docs/remote),我们这个项目便是基于这个功能实现的。 (转载请指明出于brea
    10-17 Xdebug
  • Mac OS X下PhpStorm+MAMP PRO+Xdebug+FireFox集成开发和断点调试环境配置
    Mac OS X下PhpStorm+MAMP PRO+Xdebug+FireFox集
    一、环境及软件1、macbook pro2、Phpstorm3、MAMP PRO4、FireFox二、环境搭建1、PhpStorm导入项目下载PhpStorm并安装,网上随便找个注册码即可破解,安装后打开界面选择ToolBar → VCS → Checkout from Version Control → Git,填写Git Repository URL,选
  • phpStorm remote debug with xdebug
    因为使用了 docker 进行了环境隔离,所以需要对 phpStorm 进行远程调试的配置。网上有一些教程,不是太复杂就是已经过时。经过摸索,一下是完整的配置流程。版本: ubuntu 14.04 LTS, phpStorm 9, php5-fpm首先是服务器端的设置:安装xdebugapt-get install p
  • 在 PHPStorm 中配置 Xdebug
    在 PHPStorm 中配置 Xdebug
    在 使用 Chrome 扩展程序 JSON Viewer 进行调试 这片文章中我曾介绍过,使用 echo json_encode() 的方式进行调试,再配合 Chrome 浏览器插件 JSON Viewer (建议使用 JSON Handler 代替)。调试方式的对比 手动调试的方式实际上局限性很大,缺点很明显: 复杂的
  • 解决 Composer 运行时的 Xdebug 冲突
    解决 Composer 运行时的 Xdebug 冲突
    composer 对 phper 来说是个福音,但有时,他也会给我们一些小麻烦,比如下面这个报错: You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug 这是一个非常常见的冲突,而且
  • Laravel 配置 PhpStorm + Xdebug + Chrome 设置Debug环境
    Laravel 配置 PhpStorm + Xdebug + Chrome 设置
    简介 配置Laravel在PhpStorm中的断点调试,有两种方式,第一种是最为常用的,直接配置一下phpstorm和安装一个chrom插件即可,但这种方式有一些缺陷,就是对API的调试非常不容易,比如Ajax或者客户端请求:http://laravelista.com/debugging-a-laravel-web-app
  • 基于phpstorm和vagrant环境的xdebug远程调试
    网页调试/本地调试流程是啥开发环境安装xdebug,配置监听client端(安装phpstorm那端)配置phpstorm-debug,重点要用path-map,不然对于单一入口的网页调试找不到哦断点跟踪吧详细网上资料很多,下边三个都可以用,我就不赘述了phpstorm远程调试Zero-configur
点击排行