debug PHP程序(xdebug、IntelliJ IDEA)
之前写PHP程序的都是echo调试,今天感觉太麻烦了就想起研究一下IntelliJ IDEA如何调试PHP程序。
从网上查找了很多资料,大部分都提到在IDE里开启服务,一下就懵了,怎么启这么多服务呢。经过实际操作总结如:
1、之前用phpStudy,后又用nginx+php-cgi,今天发现idea内置了启动PHP服务的插件,根据php项目的不同可以选择新建不同的【Run/Debug Configurations】如下图所示,我这里选择的是PHP Built-in Web Server;

2、添加xdebug扩展,同时配置php.ini文件,我这里用的是phpStudy里面自动的php所以已经有xdebug扩展了,添加这个扩展很简单,不再赘述。
添加如下配置项:
xdebug.profiler_output_dir="D:\ProgramFiles\phpStudy\tmp\xdebug"
xdebug.trace_output_dir="D:\ProgramFiles\phpStudy\tmp\xdebug"
zend_extension="D:\ProgramFiles\phpStudy\php\php-5.6.27-nts\ext\php_xdebug.dll"
xdebug.remote_autostart=On ;如果不开启自动连接,需要在浏览器里安装Xdebug helper才可以启动debug,为了简化安装添加此项
xdebug.remote_enable = On
xdebug.remote_host = localhost ;这里是要连接到的IDE中的服务
xdebug.remote_port = 9100 ;IDE中配置的端口
9100 端口是idea里面配置的端口,要进行debug,需要打开监听,即Pre-configuration中的第三步,Enable listening for Debug Connections。

第一次bug时,会出现如下提示,这里要点击Accept,然后会发现在servers里多了一个配置;


debug PHP程序(xdebug、IntelliJ IDEA)的更多相关文章
- Python 【Debug排除程序故障】
debug #排除程序故障 print()函数常和#号注释结合在一起用来debug 多行注释有两种快捷操作:1.在需要注释的多行代码块前后加一组三引号''' 2.选中代码后使用快捷键操作:Window ...
- eclipse远程debug Java程序
使用Eclipse JPDA远程调试Java程序 本文将介绍使用Eclipse JPDA,在Eclipse的开发环境下对远程运行的Java程序进行调试操作. 请按以下步骤进行(本人已经在Eclipse ...
- netbeans下调试php程序-xdebug
环境说明: pc系统:ubuntu 16.04 php版本:5.6.23 apache:Apache/2.4.18 (Ubuntu) 第一步:修改xdebug.ini 打开文件/etc/php/5.6 ...
- [VS2008] Debug版本程序发布后 由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题
转自VC错误:http://www.vcerror.com/?p=59 问题描述: [VS2008] 版本程序发布后,运行程序弹出错误框: 由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序 ...
- 使用uftrace来debug应用程序
谈uftrace之前,先谈谈ftrace. ftrace是一个用于调试linux内核的工具,它可以用于调试内核的调用栈,performance等. ftrace的核心是在编译内核代码时,通过制定-pg ...
- debug : 应用程序无法正常启动(0xc000007b)
- 使用Dev C++调试(debug)程序
在 "Tools" -> "Compiler Options" -> "Add following commands when calli ...
- PHP程序z中xdebug工具简要使用方法
PHP程序的debug PHP程序的debug,无论是cli方式还是web方式,都需要使用第三方的debug工具.PHP5.6之前,本身自带的debug功能,仅限于日志输出. 推荐使用免费xdebug ...
- 在Intellij IDEA或者PhpStorm下用X-debug调试PHP
用Intellij IDEA或者PhpStorm使用X-debug来调试PHP,主要需要配置的部分有三个地方,分别为php.ini的配置,IDEA的配置和浏览器的配置,主要如下,以备忘: php.in ...
随机推荐
- python http server handle json
用Python实现一个http server # python2 # coding = utf-8 from BaseHTTPServer import HTTPServer, BaseHTTPReq ...
- 麦基数(p1045)
描述: \(计算2^{P}−1的位数和最后500位数字(用十进制高精度数表示)\) Ⅰ.求位数 \(因为2^p最后一位必定不为0,求2^p-1的位数也就是求2^p位数\) \(2^p的位数确实很难求, ...
- Directory类和DirectoryInfo类
1.Directory类 Directory类公开了用于创建.移动.枚举.删除目录和子目录的静态方法 2.DirectoryInfo类 DirectoryInfo和Directory类的区别可以参看F ...
- 【HBase】HBase与MapReduce的集成案例
目录 需求 步骤 一.创建maven工程,导入jar包 二.开发MapReduce程序 三.运行结果 HBase与MapReducer集成官方帮助文档:http://archive.cloudera. ...
- Quartus II 中参数化模块库(LPM)的使用
Quartus II 的LPM库所在的目录是\altera\11.0\quartus\libraries\megafunctions 现以LPM_MULT为例进行演示: 思路:1.首先创建一个pro ...
- java 8 stream、lambda表达式对list操作分组、过滤、求和、最值、排序、去重
1.分组 通过groupingBy分组指定字段 list.stream().collect(Collectors.groupingBy(User::getSex)); 2.过滤 通过filter方法过 ...
- Zkeys:低门槛、易操作的智能云管理系统
ZKEYS系统是一个功能强大的智能化管理系统,目前国内最大的IDC业务管理系统之一.功能模块涵盖用户中心系统.财务系统.工单系统.备案系统和云服务器.服务托管器.虚拟主机等产品的弹性在线购买及及时开通 ...
- git仓促拉去提交输入密码读取钥匙串
项目的目录执行: git config --global credential.helper osxkeychain
- Codeforces 1105D(Kilani and the Game,双队列bfs)
AC代码: #include<bits/stdc++.h> #define ll long long #define endl '\n' #define mem(a,b) memset(a ...
- Python 的十万个为什么?
随着 Python 在近些年的火爆,网上出现了很多这个方向的公众号和博客,文章也层出不穷. 受到此风气的影响,我也把自己"培养"成了一名技术博主,写作近两年来,陆陆续续写过不少的系 ...