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 ...
随机推荐
- libevent(十三)evhttp事件处理流程
在libevent(六)http server中,作为一个单线程http server,不仅要监听每个连接的到来,还要监听每个连接上的I/O事件. 查看源码可知,在evhttp_bind_socket ...
- Bootstrap Table 3 官方文档
备查 Bootstrap Table 3 官方文档 示例
- 利用 Maven 构造 Spring Cloud 微服务架构 模块使用 spring Boot构建
采用Maven 聚合工程搭建 Spring Cloud 使用工具: IntelliJ IDEA 版本: 2019.2.2 maven 版本: 3.6.0 JDK ...
- 01python基础入门
一.了解python 1.总结一句话:简单易用,相对于java易学,容易上手.如果你不知道学什么语言或者先入门的话,这个是首选, 毕竟小学生也开始学了.对你有用或者是你的爱好就坚定的开始学吧! 2.下 ...
- Linux --登录用户显示-bash-4.2#解决办法
登录linux系统过后,发现显示的是-bash-4.2# 而不是root@主机名 + 路径的显示方式,发生这种情况的原因是根目录下缺失几个配置文件,从默认配置中拷贝过来就可以解决了: 1 cp /et ...
- Velocity中判断表达式是不是为空
Velocity中判断表达式是不是为空 $if ($null.isNull($mycoll) || $mycoll.size()==0) ${}与$!{}区别 例子: ${str}:如果str没有值, ...
- mybatis collection的使用
Mybatis collection的使用 今天学习了mybatis中的collection使用,作为记录以后使用.首先看一下javabean的结构! public class Article { ...
- ES6,ES7,ES8 常用
ES6常用新特性 let && const let 命令也用于变量声明,但是作用域为局部 { let a = 10; var b = 1; } 在函数外部可以获取到b,获取不到a,因此 ...
- goland pojie
goland pojie 只适用于goland2019.1.3之前的版本,之后的版本没法支持. 1. 步骤 修改vm启动参数 激活正版 2. agent 网上有很多agent都是不能用的,我上传一个可 ...
- clickhouse入门到实战及面试
第一章. clickhouse入门 一.ClickHouse介绍 ClickHouse(开源)是一个面向列的数据库管理系统(DBMS),用于在线分析处理查询(OLAP). 关键词:开源.面向列.联机分 ...