zoukankan      html  css  js  c++  java
  • phpstorm+wamp+xdebug配置php调试环境

    本篇文章主要是:教大家如果搭建一套phpstorm+wamp+xdebug调试php的环境
    现在大多数的程序员使用的调试方式一般都是echo, var_dump, file_put_contents等其他方式,效率比较低下,因此我们有必要学习用工具调试,工具调试主要可以用来解决以下问题:
    1,审核系统性能
    以前在一家公司维护过一个大型商城,全站页面全部能访问正在,就一个点赞的活动页面非常卡,点进去要20多秒才能完全打开,虽然里面有几百万数据,其他页面根本不会出现这么长时间加载问题,开始我们完全不清楚是什么问题,后来使用xdebug步步跟进,发现一条SQL语句居然执行了20多秒,原因是跨表不合理,修改之后,速度只需要0.5秒就能打开了
    2,解决疑难杂症
    线下培训的学生毕业后,有个同学被隐式转换的数据类型被浪费了一天时间,后来叫他用Xdebug跟踪,几分钟就定位到问题所在
    3,熟练掌握系统运行流程
    通过断点结合单步,步入,步过等方式,可以对程序流程有个非常清楚直观的感受 程序在每一步的变化,从而达到全面分析系统流程的目的。
    4,其他方面的应用

    搭建调试环境的具体步骤如下:
    phpstorm版本:PhpStorm-2016.2.1
    wamp版本:2.5,自带xdebug
    第一步:把下面的xdebug配置放在php.ini文件中:
    根据自己的机器实际情况修改路径

    ; XDEBUG Extension
    
    zend_extension = "e:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11.dll"
    ;
    [xdebug]
    xdebug.remote_enable = off
    xdebug.profiler_enable = off
    xdebug.profiler_enable_trigger = off
    xdebug.profiler_output_name = cachegrind.out.%t.%p
    xdebug.profiler_output_dir = "e:/wamp/tmp"
    xdebug.show_local_vars=0
    xdebug.idekey=PhpStorm
    xdebug.remote_enable = On
    xdebug.remote_host=localhost
    xdebug.remote_port=9000
    xdebug.remote_handler=dbgp

    第二步:判断xdebug是否加载,可以打印phpinfo()函数 进行查看

    第三步: 配置phpstorm编辑器中相关配置

    File->Settings->Languages&Frame Works->Php->Interpreter 选择web服务器套件中php.exe的路径

    第四步:File->Settings->Languages&Frame Works->Php->Servers 配置服务器相关设置:

    Name:localhost

    Host:localhost

    Port:80

    Debugger: Xdebug
    图片描述
    第五步:File->Settings->Languages&Frame Works->Php->Debug->DBGp Proxy 配置相关设置:

    Ide key: phpstorm 这个值是php.ini中那个xdebug那段ide key的值

    host: localhost

    port: 80
    图片描述

    第六步:File->Settings->Languages&Frame Works->Php-Debug 找到右边窗口对应的debug设置,把端口改成9000
    图片描述

    第七步:安装谷歌浏览器的Xdebug扩展
    图片描述

    第八步:

    1,开启phpstorm的监听按钮
    图片描述
    2,开启浏览器右上角的监听按钮,允许debug
    3,在文件中设置断点
    4,在浏览器中运行程序之后 就会把程序断在第三步设定的断点下,再之后就可以单步,步入,跳过等等方式来调试程序

  • 相关阅读:
    file_zilla 通过key连接远程服务器
    git 恢复丢失的文件
    花括号中的json数据--->转为数组array
    3种日志类型,微信付款反馈-->写入txt日志
    清空数据库中所有表--连表删除
    冒泡排序, 使用最低票价.---双重循环,一重移动次数.二重移动
    navicat 连接远程mysql
    付款前.检查状态.防止重复付款,需要ajax设置为同步,等待ajax返回结果再使用
    反射
    设计模式六大原则
  • 原文地址:https://www.cnblogs.com/ghostwu/p/7966428.html
Copyright © 2011-2022 走看看