1 配置Xdebug

下载Xdebug

  • 下载与您的PHP版本兼容的Xdebug扩展,并将其保存在该php/文件夹中。

    • php/文件夹 的位置是在安装PHP引擎期间定义的。

    • 如果您使用的是AMP软件包,则可能已安装Xdebug扩展。按照xdebug.txt中的说明进行操作。

将Xdebug与PHP解释器集成

  1. 在编辑器中打开活动的php.ini文件:

    1. 在“ 设置/首选项”对话框(Ctrl+Alt+S)中,单击“ 语言和框架”下的“ PHP ”。

    2. 在打开的PHP页面上,单击CLI Interpreter字段旁边的。

    3. 在打开的CLI解释器对话框中,配置文件只读字段显示活动php.ini文件的路径。单击在编辑器中打开。

  2. 要禁用阻止Xdebug 的Zend Debugger和Zend Optimizer工具,请删除或注释掉php.ini文件中的以下行:

    zend_extension=<path_to_zend_debugger> zend_extension=<path_to_zend_optimizer>
  3. 要启用Xdebug,请找到php.ini文件中的[Xdebug]部分并按如下所示进行更新:

    [Xdebug] zend_extension="<path to php_xdebug.dll>" xdebug.remote_enable=1 xdebug.remote_port="<the port for Xdebug to listen to>" (the default port is 9000)

    通过Xdebug代理启用多用户调试,请找到该xdebug.idekey设置并为其指定一个您选择的值。该值将用于在Xdebug代理服务器上注册IDE。

  4. 保存并关闭php.ini文件。

  5. 通过执行以下任一操作验证Xdebug安装:

    • 在命令行中,运行以下命令:

      php --version

      输出应在已安装的扩展中列出Xdebug:

    • 创建一个包含以下代码的php文件:

      phpinfo();

      在浏览器中打开文件。该phpinfo输出应包含Xdebug的部分:

在PHP 5.3及更高版本,您只需要使用zend_extension,而不是zend_extension_tszend_extension_debugextension

在PhpStorm中配置Xdebug

  1. 在“ 设置/首选项”对话框(Ctrl+Alt+S)中,选择“ 语言和框架”| PHP。

  2. 检查与所选PHP解释器关联的Xdebug安装:

    1. 在PHP页面上,从CLI解释器列表中选择相关的PHP安装,然后单击该字段旁边的“ 浏览  ”。该列表显示了PhpStorm中可用的所有PHP安装,请参阅配置本地PHP解释器 和配置远程PHP解释器

    2. 打开 的CLI解释器对话框显示以下内容:
      • 所选PHP安装的版本。

      • 与所选PHP安装(Xdebug或Zend Debugger)关联的调试引擎的名称和版本。如果没有配置调试器,PhpStorm会显示Debugger: Not installed

    或者,打开Xdebug检查器,粘贴输出phpinfo(),然后单击Analyze my phpinfo()输出。了解有关在验证调试引擎配置中检查Xdebug安装的详细信息。

  3. 定义Xdebug行为。单击PHP节点下的Debug。在打开的“ 调试”页面上,在Xdebug区域中指定以下设置:

    • 在“ 调试端口”文本框中,指定工具与PhpStorm通信的端口。这必须与php.ini文件中指定的端口号完全相同:

      xdebug.remote_port = <port_number>

      默认情况下,Xdebug侦听端口9000

    • 要让PhpStorm通过“ 调试端口”文本框中指定的端口接受来自Xdebug引擎的任何传入连接,请选中“ 可以接受外部连接” 复选框。

    • 如果未指定路径映射,请选中第一行 的强制中断复选框,以使调试器在到达时立即停止并打开未映射到“ 服务器”页面上项目中任何文件的文件。调试器停在此文件的第一行和调试工具窗口。变量显示以下错误消息: 无法在服务器上找到该文件的本地副本<服务器上文件的路径>和链接单击以设置映射。单击该链接以打开“ 解析路径映射问题”对话框,并将问题文件映射到其本地副本。

      清除此复选框后,调试器在到达并打开未映射的文件时不会停止,文件刚刚处理完毕,并且不会显示任何错误消息。

    • 当脚本在项目外部时, 选择第一行的强制中断 复选框,以使调试器在到达时立即停在第一行,并在当前项目之外打开文件。清除此复选框后,调试器将在打开当前项目外的文件时继续。

  4. 在“ 外部连接”区域中,指定您希望PhpStorm如何处理从主机接收的连接以及未注册为部署服务器配置的端口。
    • 通过未注册的服务器配置忽略外部连接:选中此复选框可让PhpStorm忽略从主机接收的连接以及未注册为部署服务器配置的端口。选中此复选框后,PhpStorm不会尝试自动创建部署服务器配置。

    • 在PHP脚本的第一行中断: 选中此复选框可在调试器与PhpStorm建立连接后立即停止(而不是自动运行直到达到第一个断点)。或者打开Run | 在主菜单上的PHP脚本选项的第一行中断。

    • 最大。同时连接:使用此旋转框限制可以同时处理的外部连接数。

2 参考

使用谷歌翻译于 https://www.jetbrains.com/help/phpstorm/configuring-xdebug.html

PHPStorm配置Xdebug官方文档的更多相关文章

  1. Dubbo集群配置和官方文档

    集群配置: https://blog.csdn.net/zh520qx/article/details/63679908 https://www.cnblogs.com/hd3013779515/p/ ...

  2. log4j2异步日志配置及官方文档的问题澄清

    配置及demo 方法一全部打开 加启动参数 -DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextS ...

  3. Spring 4 官方文档学习(十一)Web MVC 框架之配置Spring MVC

    内容列表: 启用MVC Java config 或 MVC XML namespace 修改已提供的配置 类型转换和格式化 校验 拦截器 内容协商 View Controllers View Reso ...

  4. kafka安装配置及操作(官方文档)http://kafka.apache.org/documentation/(有单节点多代理配置)

    https://www.cnblogs.com/biehongli/p/7767710.html w3school https://www.w3cschool.cn/apache_kafka/apac ...

  5. Hanlp(汉语言处理包)配置、使用、官方文档

    配置使用教程:https://github.com/hankcs/HanLP Hanlp官方文档:http://www.hankcs.com/nlp/hanlp.html 参考API:http://h ...

  6. Spring Cloud官方文档中文版-Spring Cloud Config(上)-服务端(配置中心)

    官方文档地址为:http://cloud.spring.io/spring-cloud-static/Dalston.SR2/#spring-cloud-feign 文中例子我做了一些测试在:http ...

  7. VScode 配置c/c++环境(结合各大网站的blog和官方文档)

    第一步:下载mingw64 首先,在各大搜索引擎上搜索mingw64,进入其官网下载即可 需要注意的是,下载默认的是先从网页上下载下载器,再进行选择下载.但是在部分电脑上下载会出现什么mingw64. ...

  8. 【采坑小计】thanos receiver的官方文档中,并未说明tsdb落盘的配置方式

    官方文档的地址在:https://thanos.io/tip/components/receive.md/ 一开始以为落盘的时间间隔是:--tsdb.retention=15d 实际测试中发现,tha ...

  9. Spring 4 官方文档学习(十一)Web MVC 框架之约定优于配置

    当返回一个ModelAndView时,可以使用其addObject(Object obj)方法,此时的约定是: An x.y.User instance added will have the nam ...

随机推荐

  1. 057、macvlan 网络隔离和连通(2019-03-26 周二)

    参考https://www.cnblogs.com/CloudMan6/p/7400580.html   在上一节中,两个host上四个容器的网络信息如下,然后进行网络连通性测试,可见通vlan的容器 ...

  2. python初认识、基础数据类型以及 if 流程控制

    python初认识 CPU.内存.硬盘以及操作系统之间的关系 CPU:中央处理器,计算机的逻辑运算单元 硬盘:长期存储数据的地方,断电不会丢失 内存:位于CPU与硬盘之间,缓解高速CPU与低速硬盘之间 ...

  3. google 谷歌地图

    https://www.cnblogs.com/yincheng/p/google-map.html https://blog.csdn.net/sinat_21189673/article/deta ...

  4. lua 设置文件运行的环境

    背景 在一个lua文件中书写的代码, 使用的变量, 需要设置其运行环境. 目的: 1. 不破坏全局环境. 2. 限定文件所使用的环境, 作为沙箱功能. 解法 限定运行空间环境的文件: local m ...

  5. 十一、移植优化---CONFIG 优化进 menuconfig(2)

    11.3 jz2440.h 中的剩余宏移植 11.3.1 CONFIG_SYS_TEXT_BASE CONFIG_SYS_TEXT_BASE:设置系统代码段的基地址,设为 0x0:menuconfig ...

  6. 【bzoj 2588】Spoj 10628. Count on a tree

    Description 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权.其中lastans是上一个询问的答案,初始 ...

  7. python基础 range()与np.arange()

    range()返回的是range object,而np.nrange()返回的是numpy.ndarray() range尽可用于迭代,而np.nrange作用远不止于此,它是一个序列,可被当做向量使 ...

  8. luogu P4899 [IOI2018] werewolf 狼火

    传送门 首先很显然,从人形起点出发能到的点和狼形能到终点的点都是一个联通块,如果能从起点到终点则说明这两个联通块有交 这个时候可以请出我们的克鲁斯卡尔重构树,即对原图分别建两棵重构树,一棵边权为两端点 ...

  9. 基于keepalived搭建MySQL热机集群

    背景 MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,MMM,Heartbeat+DRBD,PXC,Galera Cluster 比较常用的是keepalived+双主,M ...

  10. Netty实现简单私有协议

    本文参考<Netty权威指南> 私有协议实现的功能: 1.基于Netty的NIO通信框架,提供高性能异步通信能力 2.提供消息的编码解码框架,实现POJO的序列化和反序列化 3.提供基于I ...