phpstorm 配置xdebug

文章介绍了如何在Mac环境下配置PHP的Xdebug扩展,包括通过pecl安装,修改php.ini配置,设置xdebug.mode、client_host和client_port。在PHPStorm中配置项目的PHP解释器和调试信息,包括端口号、服务器信息和调试配置。此外,还提到了通过cookie或nginx统一设置断点以及解决调试过程中遇到的问题,如断点不生效和多项目调试冲突的情况。
  1. 目录

    配置全局环境

    phpstorm 项目xdebug配置

    额外补充:


    配置全局环境

    1. 本地运行命令 php -v, 看是否有Xdebug相关的信息
    2. 若没有,安装xdebug,以下是mac相关方式:
      1. pecl search xdebug 查询,找到之后用 pecl install xdebug 安装,安装好后,php.ini 已自动添加了对应的扩展(此处也可直接在网页上下载安装,将xdebug.so 文件放在对应目录然后引用就好,同php 其他扩展)
      2. 在php.ini中增加xdebug相关配置:
        [xdebug]
        
        xdebug.mode=debug
        
        xdebug.client_host=
        
        xdebug.client_port=10080
    3. 重启php,再使用 php -v 查看
  2. phpstorm 项目xdebug配置

     然后访问接口就可以进入到对应的断点处了。注:phpstorm 项目xdebug配置是根据项目走的,每个项目都需要单独配置。

    1. 先配置php解释器:根据自己php的版本选择,若没有点击后面的... 然后进行添加
    2. 配置调试信息:端口号和php.ini 中的端口一致
    3. 项目添加调试配置:配置服务器信息:根据自身情况,配置是否需要https和url基本路径:
    4. 打开调试模式:选择新建的配置,并点击右侧图标就打开了调试模式,如下图
    5. 在相应接口打上断点,然后在apifox或postman中访问接口,但需要在cookie中设置后面的值可以随便设置,但是需要用到调试的每个接口都需要设置,有点麻烦,所以统一在nginx中增加配置,就无需在接口设置cookie了
    6. nginx统一配置:

  3. 额外补充:

    1. 有时在请求时没有弹出跳转到phpstorm的断点处,检查编辑器的配置,不要勾选如下项(注:每个项目的配置都是单独的)

      若勾选了该项,访问接口未设置断点,但若开启调试模式,还是会进入调试模式 

    2. 若同时配置了多个项目的调试模式,A项目打开,B项目未打开,但是现在访问的是B项目的接口,会出现如下弹窗:

       下面的项目就是你当前开启调试的项目,点击忽略或者直接关闭其他项目的调试模式。或者打开本项目调试模式,取消掉所有的断点

PhpStorm配置Xdebug可按以下详细步骤进行: ### 前期准备 在Windows下进行PhpStorm配置Xdebug3之前,要做好前期准备工作,了解Xdebug3,为后续配置奠定基础,搭建高效的PHP开发调试环境 [^1]。 ### 安装Xdebug扩展 1. 创建一个PHP文件,写入`phpinfo();`代码。 2. 访问此PHP文件,复制当前页面所有文字。 3. 打开https://xdebug.org/wizard 站点,将复制的内容全部填写进去,点击 “Analyse my phpinfo() output” 按钮进行检测PHP对应扩展。 4. 下载扩展。 5. 将下载的文件放入到对应PHP版本的扩展文件夹中 [^5]。 ### 修改php.ini配置文件 根据不同情况有不同的配置示例: #### 示例一 ```ini [Xdebug] xdebug.mode=debug xdebug.client_host="127.0.0.1" xdebug.client_port=2333 xdebug.collect_return=On xdebug.idekey="PHPSTORM" zend_extension=D:\Servers\phpStudy\install\Extensions\php\php7.3.4nts\ext\php_xdebug-3.1.6-7.3-vc15-nts-x86_64.dll xdebug.profiler_append = 0 xdebug.profiler_output_name = "cache.out.%t-%s" xdebug.remote_handler = "dbgp" ``` 此配置中`zend_extension`路径需根据实际情况调整 [^2]。 #### 示例二 ```ini xdebug.profiler_append = 0 ;效能检测的设置开关 xdebug.profiler_enable = 1 xdebug.profiler_enable_trigger = 0 ;profiler_enable 设置为1的时候,效能监测信息写入文件所在的目录,可以自定义 xdebug.profiler_output_dir = "E:\PHP\phpstudy_pro\tmp\xdebug" ;设置的函数调用监测信息的输出路径,可以自定义 xdebug.trace_output_dir = "E:\PHP\phpstudy_pro\tmp\xdebug" ;生成的效能监测文件的名称 xdebug.profiler_output_name = "cache.out.%t-%s" ;远程开启 1 表示默认远程开启 0 表示关闭 xdebug.remote_enable = 1 xdebug.remote_handler = dbgp ;远程主机地址 这里设置的是我们本地解析的域名 xdebug.remote_host = www.demo.com ;远程自动启动 1 表示开始 0 表示关闭 xdebug.remote_autostart = 1 ;远程端口 可自己定义 xdebug.remote_port = 9100 xdebug.idekey = PHPSTORM ``` 编辑`E:\2345Downloads\phpstudy_pro\Extensions\php\php7.3.4nts\php.ini`文件,增加上述调试配置信息并重启Apache服务,路径信息需根据实际情况做调整 [^3]。 #### 示例三 ```ini xdebug.mode=debug xdebug.start_with_request=default xdebug.client_host=localhost xdebug.client_port=9001 xdebug.remote_handler=dbgp xdebug.idekey=PHPSTORM ``` [^4] #### 示例四 ```ini [Xdebug] zend_extension=E:\phpstudy_pro\Extensions\php\php7.3.4nts\ext\php_xdebug-3.1.4-7.3-vc15-nts-x86_64.dll xdebug.remote_enable =1 xdebug.remote_handler = “dbgp” xdebug.remote_host = “127.0.0.1” xdebug.remote_port = 9000 xdebug.client_port = 9000 xdebug.idekey = test xdebug.mode = debug ``` [^5]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值