php+xdebug+phpstorm(mac os x+homebrew)
今天研究了下用phpstorm做xdebug调试,首先申明本人电脑是mac系统,软件包管理用的是homebrew,phpstorm用的是2016.3.2版本,php56,xdebug2.5.1,希望对研究此方面的同学有一点帮助,毕竟我花了一上午,google了好多资料才弄好。下面是效果图:


先说下原理:xdebug可以控制PHP程序的执行,这意味着xdebug可以在任何时候暂停或者恢复正在运行的PHP程序。当PHP程序被暂停的时候,xdebug可以获取到程序的相关信息,比如变量的值等。xdebug也可以修改一个变量的值,然后再恢复暂停的程序,让其继续运行。xdebug配合IDE进行可视化调试的过程(如phpstorm的断点调试)被称为“远程调试”,是因为调试时有一个Server(xdebug)和一个Client(IDE),所以在调试的时候,被调试的PHP程序和调试PHP程序的IDE可以不在同一台电脑上。xdebug在进行远程调试的时候扮演一个Server的角色,它会在一个指定的端口(默认是9000)等待IDE的连接。目前有2种通信的协议,GDB和DBGp,其中DBGp是DBG的取代协议。IDE在执行调试的时候,给xdebug发送需要执行的命令,xdebug接受到命令后执行,然后将执行的情况和获得的PHP程序运行信息返回给IDE。现在很多IDE都实现了与xdebug通信的协议,本人用的是phpstorm。
1.环境准备及xdebug扩展安装。homebrew搭建nginx+php非常简单,几句命令就搞定了,我就不多说了,这里主要强调一点,homebrew默认安装的php是debug的,但是默认安装的php扩展确实二进制安装方式,非debug,所以brew intall php56-xdebug安装的扩展会报错。解决办法是brew install php56-xdebug -fs,即使用源码编译安装fs时from source的缩写,这样重启php,就可以启用xdebug扩展了。

2.配置ext-xdebug.ini文件,如图是我的配置,其中xdebug.remote_host/port/根据你自己的本地环境进行配置,另外建议加上最后一条xdebug.remote_log,很多人不加,到时候出错了也不知道去哪里找,加上这个,到时候来看这个文件,就知道哪里出问题了。

3.配置phpstorm。步骤:
1,Preferences->语言和框架->php
2,Preferences->语言和框架->php->servers
3,Preferences->语言和框架->php->debug
4,Preferences->语言和框架->php->debug->dbgp proxy
以上忽略大小写,下面上图我的配置。




4.下载浏览器插件。这个根据浏览器不同,具体安装方式不同,我用的是JetBrains IDE Support 2.0.9,这个不用多说。
5.设置断点调试。在你配置的Servers根目录下,写代码,这个随意,我的是安装了Redis以及phpredis扩展,就写了个相关的,点击代码行首出现小红点就设置了断点,点击phpstorm右上角的电话标志,然后点击爬虫标志,简单设置下就可以了。然后就出现我开头展示的情形了,xdebug会在断点那里停止php的运行,把前面的变量的值显示在代码的旁边,很方便调试逻辑复杂的程序。
6.篇幅有限,自己研究的也有限,有兴趣的留言评论一起讨论吧。
php+xdebug+phpstorm(mac os x+homebrew)的更多相关文章
- Mac os:将Homebrew的下载源换成国内镜像增加下载速度(阿里云镜像)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_135 可能所有的mac os系统爱好者都遇到过下面这种倒霉情况,在网络环境不太好的时候,你满怀期待的敲下 brew install ...
- mac os使用homebrew来管理后台服务
在linux下我们经常通过 service 或者 /etc/init.d/来管理我们的后台服务软件,并使用包管理器安装这些软件. 在mac下有homebrew这个好用的工具来安装软件,但是一直没有找到 ...
- mac OS 安装 Homebrew及常用命令
Homebrew 是由国外大神 Max Howell 开发的一款包管理工具,类似Debian的apt,他可以安装任何你想安装的东西. 安装方法 命令行输入 /usr/bin/ruby -e &quo ...
- mac OS 安装 Homebrew软件包管理器
Homebrew macOS 缺失的软件包的管理器 中文官网 https://brew.sh/index_zh-cn 获取安装命令 /usr/bin/ruby -e "$(curl -fsS ...
- mac OS 安装配置Nginx服务器
系统环境 安装工具 Homebrew软件包管理器 :<mac OS 安装 Homebrew软件包管理器>https://blog.csdn.net/weixin_41791279/arti ...
- Install wget in Mac OS X Without Homebrew or MacPorts
May 22, 2012 - 31 Comments The command line tool wget lets you retrieve a group of files from FTP an ...
- Mac OS X 程序员利器 – Homebrew安装与使用
Mac OS X 程序员利器 – Homebrew安装与使用 Homebrew安装与使用 什么是Homebrew? Homebrew is the easiest and most flexible ...
- (转)Building MariaDB on Mac OS X using Homebrew
https://kb.askmonty.org/en/building-mariadb-on-mac-os-x-using-homebrew/ Work has been done to provid ...
- Mac OS X用户,使用homebrew安装,FreeBSD也可以
qtkeychain 这是编译和运行软件必须的库.各平台都可以编译安装.对于Mac OS X用户,使用homebrew安装: brew install qt5keychain (旧版本的Mac OS ...
随机推荐
- 东正王增涛浅析OA信息化整合平台系统在企业中的应用价值
王增涛说OA信息化整合平台系统作为企业管理中最基础的管理软件,已在企业成长道路上存在多年,它的应用开启了智能移动办公的先河,也让企业的办公流程管理更加的便捷.高效.流畅.省时.省力,它的使用不但让企业 ...
- Eclipse导入项目常见问题----jdk版本问题(有个红色感叹号)01
我们导入项目时,有时会看到项目上有一个[红色的感叹号!],这说明该项目的jdk版本和你的电脑安装的jdk版本不匹配. 可能导入的项目时jkd1.6,1.8等等,而你安装的是jdk1.7 如下图: 解决 ...
- 如何按内容筛选dom
有时候我们需要按照dom的text内容去筛选,那么可以用jQuery的contains筛选 写法 $("div:contains(aaa)") 筛选出内容包含aaa的div 另外 ...
- canvas实现视频截图
截取视频当前播放画面,直接上源码. <body> <div class="container"> <video id="test" ...
- Spring学习(14)--- 基于Java类的配置Bean 之 @ImportResource & @Value 注解
学习如何使用@ImportResource 和 @Value 注解进行资源文件读取 例子: 先创建一个MyDriverManager类(模拟读取数据库配置信息) package com.beanann ...
- winform中的 datagriview 字段自动填充长度
在winfrom 的 datagridview 中 绑定字段 经常回在最后面空出一部分来,显得不美观, 现在教大家如何让它自适应宽度 public static void Autogrid(DataG ...
- 1.JAVA WEB 笔记中文乱码
JAVA WEB 乱码问题解析 乱码原因 在Java Web开发过程中,经常遇到乱码的问题,造成乱码的原因,概括起来就是对字符编码和解码的方式不匹配. 既然乱码的原因是字符编码与解码的方式不匹配,那么 ...
- Discuz开发帮助
http://ishare.iask.sina.com.cn/f/33819255.html Discuz二次开发手册(下载) http://dev.discuz.org/wiki/index.php ...
- redhat初始化yum源,使用阿里云yum源
本篇文章介绍redhat7使用国内阿里云yum安装源的方法,源地址使用的https://mirrors.aliyun.com/对应使用Centos7下的安装源. 在学习<Linux就该这么学&g ...
- war包中少了class文件
用eclipse的maven工具打包(执行mvn clean install 和 mvn package)后,再启动wildfly, war包应该会自动复制到wildfly的deployment ...