一. 下载xdebug扩展

http://xdebug.org/download.php

二. php.ini配置

;基本调试配置
xdebug.auto_trace = on
xdebug.collect_params = on
xdebug.collect_return = on
xdebug.profiler_enable = on
xdebug.profiler_output_dir="D:\phpStudy\tmp\xdebug"
        xdebug.trace_output_dir="D:\phpStudy\tmp\xdebug"

;远程调试设置

xdebug.remote_enable = on
         xdebug.remote_host = localhost
         xdebug.remote_port = 9000
         xdebug.remote_autostart = on
         xdebug.default_enable=on

xdebug.remote_autostart = on

xdebug.remote_connect_back = On           //如果开启此,将忽略下面的 xdebug.remote_host 的参数。 <一台    webserver有多个开发者的工作目录的时候使用,如:p1.xx.com,p2.xx.com,p3.xx.com 。。。等。 >
          xdebug.remote_host = 192.168.59.104    //注意这里是,客户端的ip<即IDE的机器的ip,不是你的web server>
          xdebug.remote_port = 9900                       //      注意这里是,客户端的端口<即IDE的机器的ip,不是你的web server>

配置说明如下:

;显示默认的错误信息
xdebug.auto_trace=on
;自动打开“监测函数调用过程”的功模。该功能可以在你指定的目录中将函数调用的监测信息以文件的形式输出。此配置             项的默认值为off。
xdebug.collect_params=on
;打开收集“函数参数”的功能。将函数调用的参数值列入函数过程调用的监测信息中。此配置项的默认值为off。
xdebug.collect_return=on
;打开收集“函数返回值”的功能。将函数的返回值列入函数过程调用的监测信息中。此配置项的默认值为off。
xdebug.max_nesting_level=100
xdebug.profiler_enable=on
;打开效能监测器。
xdebug.remote_enable=on
;是否调试
xdebug.remote_host=localhost
xdebug.remote_port=9000
;调试端口
xdebug.remote_handler=dbgp
;选择协议
xdebug.trace_output_dir="d:\Temp"
;设定函数调用监测信息的输出文件的路径。
xdebug.profiler_output_dir="d:\Temp"
;设定效能监测信息输出文件的路径。
       xdebug.auto_trace = 1
  ;是否允许Xdebug跟踪函数调用,跟踪信息以文件形式存储,默认值为0
       collect_params = 1
  ;是否允许Xdebug跟踪函数参数,默认值为0
  xdebug.collect_return = 1
  ;是否允许Xdebug跟踪函数返回值,默认值为0
  xdebug.profiler_enable = 1
  ;打开xdebug的性能分析器,以文件形式存储,这项配置是不能以ini_set()函数配置的,默认值为0
  xdebug.profiler_output_dir
       ;性能分析文件的存放位置,默认值为/tmp
       xdebug.profiler_output_name
       ;性能分析文件的命名规则,默认值为cachegrind.out.%p
       xdebug.trace_output_dir
       ;函数调用跟踪信息输出文件目录,默认值为/tmp
       xdebug.trace_output_name
       ;函数调用跟踪信息输出文件命名规则,默认为trace.%c

三. phpstorm配置

1. 配置php执行php.exe

2.  9000端口与php.ini中xdebug.remote_port=9000一致

3.

四.xdebug调试

五. 性能分析

1. 脚本执行时间

php自带:microtime

<?php
/**
* Simple function to replicate PHP 5 behaviour
*/
function microtime_float()
{list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
$time_start = microtime_float();
// Sleep for a while
usleep(100);
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "Did nothing in $time seconds\n";

xdebug: xdebug_time_index()

2. 脚本运行占用内存

php自带:memory_get_usage(), PHP编译时使用了-enable-memory-limit参数时才有效

xdebug: xdebug_memory_usage()

3. 检测代码不足,性能分析

a. php.ini 中加入配置如下

[Xdebug]
                      xdebug.profiler_enable=on
                      xdebug.trace_output_dir="I:\Projects\xdebug"

xdebug.profiler_output_dir="I:\Projects\xdebug"

b. 执行情况的分析文件写入到”../Projects/xdebug”目录中

c. windows 安装wincachegrind    https://sourceforge.net/projects/wincachegrind/?source=typ_redirect

d.linux 安装webgrind

e.参考:http://www.linuxeye.com/Linux/2913.html

https://blog.csdn.net/Alex_Best/article/details/6003784

六. 注意事项
1、避免生产环境开启profiler和trace,只需开启远程调试;
2、尽量使用xdebug.profiler_enable_trigger替代xdebug.profiler_enable;
3、如果使用webgrind分析profiler,建议不要放入生产环境,因为其没有安全限制,任何人都可以访问;

4、Xdebug的功能虽然强大,但是要均衡性能开销;

七. 相关资料

https://confluence.jetbrains.com/display/PhpStorm/Debugging+PHP+Web+Applications+with+Run+Debug+Configurations

https://xdebug.org/docs/remote

ssh -R 9001:localhost:9001 mox@120.92.142.115

php xdebug调试 phpstorm配置相关推荐

  1. xdebug 调试php,XDebug 调试PHP 配置

    [XDebug] ;调试功能模块儿 zend_extension =/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/xdebug ...

  2. phpstorm配置Xdebug进行调试PHP教程

    ps : php版本和xdebug版本一定要相对应 1. PHP安装xdebug扩展 php.ini的配置,下面的配置仅供参考,路径要换成自己的! [xdebug] zend_extension=&q ...

  3. phpstorm调试php配置,PhpStorm配置Xdebug调试WordPress

    PhpStorm配置Xdebug之我的理解 Nginx将root指向PhpStorm的工作目录, 因为自己之前都是Java写的多,用的IDE是IntelliJ IDEA,虽然跟PhpStorm是一家, ...

  4. PhpStorm配置Xdebug调试PHP程序

    From: http://blog.csdn.net/ljfrocky/article/details/46531137 这篇文章主要介绍了如何使用PhpStorm + Xdebug调试PHP程序,需 ...

  5. phpstorm 配置 xdebug断点调试

    前言 php是脚本型程序 每次出错都要手动exit断点程序不是很方便 哪里有需求哪里就有生产,Xdebug可以实现对php的断点调试.下面将我个人的安装经历分享给大家. 运行环境 windows .l ...

  6. phpstudy+PHPSTORM配置xdebug断点调试

    记录一下 花了一上午时间失败了(心态都炸了,本来就调试有问题,后面网站都打不开了),于是全推倒重新配置一遍并记录一下. 网站配置和文件配置 首先打开phpstudy,打开这两个. 然后配置我们的网站, ...

  7. PHPStorm配置PHP调试环境,xdebug调试原理

    之前的调试环境有一点混乱,所以决定重新配置一遍,写这篇文章记录出现的问题,希望能够帮助到你们 搭建环境 windows phpstudy apache/nginx php7.3 phpstorm xd ...

  8. docker php 多端口,docker使用之php-fpm+apache多容器的xdebug和phpstorm的配置

    PHP.and.MySQL.Create.Modify.Reuse PHP&MySQL范例精解_创建.修改.重用-docker环境搭建-6.补充,准备装配xdebug,并 安装xdebug d ...

  9. phpstorm配置Xdebug

    1.下载xdebug插件:https://xdebug.org/download.php 2.查看自己的php信息,(phpinfo()就可以),出现如下界面然后点击查看网页源代码 3. 将代码粘贴到 ...

  10. PhpStorm 配置debug断点调试

    以下方法可以不用下载Xdebug helper浏览器扩展插件,也不需配置Debug Configurations. 环境 phpstudy_pro 小皮集成环境 Apache 2.4.39 php 7 ...

最新文章

  1. 339所!中国内地高校ESI排名出炉:国科大、清华、北大位列前三!
  2. java 实现图片上传功能
  3. codeforces_A. Salem and Sticks_数组/暴力
  4. 【题解】HNOI2008GT考试
  5. 都说了多少遍,不要再学 JSP 了!
  6. VTK:Utilities之UnknownLengthArray
  7. AI 一体机,满足新时代的新需求
  8. ASP.NET中实现Flash与.NET的紧密集成(转,没看,有空研究一下)
  9. Manthan, Codefest 16
  10. 协作更进一步:微软隆重介绍Visual Studio动态分享功能
  11. 27岁到来之际,我在大厂实现了年薪40W+的小目标
  12. PHP memcached memcache 扩展安装
  13. 从scheduler is shutted down看程序员的英文水平
  14. Oracle的基本注意点
  15. 安装Win10操作系统-纯净版
  16. 快速清理C盘的四个方法
  17. 先是艾瑞咨询后是腾讯,永洪科技把客户变成了投资人
  18. 百度云不限速下载(Windows、Linux、Mac平台)
  19. 智能客服vs人工客服,两者真水火不容?
  20. 【Alpha版本】冲刺阶段 - Day7 - 靠泊

热门文章

  1. RocketMQ学习-概览
  2. 360 组织全局 HOOK 的 dll 加载
  3. 编程基础(三)——体系结构之三
  4. Linux Kernel中irq handler, softirq handler 和 tasklet
  5. [Android] 查看MTD,EMMC,MMC三种设备的分区
  6. WifiConfigManager NetworkSelector 和 WifiConnectivityManager
  7. apache-xmlrpc-3.1.3-bin.tar.bz2
  8. 请求发送者与接收者解耦——命令模式(五)
  9. 深入解析 ext2 文件系统
  10. Python入门学习三