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 ...
 
随机推荐
- redis系列之5----redis实战(redis与spring整合,分布式锁实现)
			
本文是redis学习系列的第五篇,点击下面链接可回看系列文章 <redis简介以及linux上的安装> <详细讲解redis数据结构(内存模型)以及常用命令> <redi ...
 - AWS bind: cannot assign requested address
			
最近在AWS上安装Redis,遇到一个坑. Redis默认配置文件中有个bind配置项,默认为127.0.0.1.此时只能在服务器内部访问Redis. 为了从服务器外部访问Redis,我给bind添加 ...
 - PLAI那些事_06 FAE
			
没有了with表达,with,exp,body的id换成exp的lambda函数,从而可以没有with来进行实现.即,{with {id exp} body}换成了{{fun {id} body} e ...
 - [hdu4628 Pieces]二进制子状态,DP
			
题意:给一个长度为16的字符串,每次从里面删掉一个回文序列,求最少需要几次才能删掉所有字符 思路:二进制表示每个字符的状态,那么从1个状态到另一个状态有两种转移方式,一是枚举所有合法的回文子序列,判断 ...
 - python读取excel所有数据(cmd界面)
			
python读取excel所有数据(cmd界面) cmd界面显示excel数据 代码 import xlrd import os from prettytable import PrettyTable ...
 - c#实现生成PDF的底层方法
			
在用uwp生成pdf的时候,发展此类类库有限,有的也需要钱,我最后实现pdf的底层方法生成pdf,代码如下 private async void GeneratePdf() { var file = ...
 - mfw
			
0x01 可能为git泄露 git泄露 githack下载源码 index.php <?php if (isset($_GET['page'])) { $page = $_GET['page'] ...
 - spark机器学习从0到1支持向量机SVM(五)
			
分类 分类旨在将项目分为不同类别. 最常见的分类类型是二元分类,其中有两类,通常分别为正数和负数. 如果有两个以上的类别,则称为多类分类. spark.mllib支持两种线性分类方法:线性支持 ...
 - Python--WebDriverWait+expected_conditions的一个应用
			
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.s ...
 - Vue与 Vue组件部分
			
1.Vuex作用?哪种功能场景使用它? 答案:vue框架中状态管理. 场景有:单页面应用中,组件之间的状态.音乐播放. 登录状态.加入购物车 2.解释vuex最常用的两种属性 答案:分别State.G ...