ubuntu22下phpstorm + xdebug调试php

news2024/11/26 20:51:03

文章目录

  • 前言
  • 环境
  • 主要步骤
    • xedbug的安装
      • xedbug.so的安装
      • 浏览器安装xdebug-helper
  • phpstorm 配置xdebug

前言

主要借鉴
https://blog.csdn.net/yinhangbbbbb/article/details/79247331
但是在linux下搭建还是遇到了不少问题

环境

phpstudy
phpstorm
xdebug

主要步骤

phpstudy、phpstorm都没有要踩的坑

xedbug的安装

xedbug.so的安装

https://xdebug.org/wizard.php。
在页面中需要粘贴进去php版本信息,也就是phpinfo()函数的信息,如下图:
在这里插入图片描述点击分析按钮就有详细的安装步骤
在这里插入图片描述但是我们遇到了两个问题

  1. 我们本机并没有php的开发环境(是phpstudy的7.4)而且ubuntu22默认安装php是8.1
  2. 没有编译好的xdebug插件

所以我找了另一个方法:跳过编译,直接安装

  1. 添加php的ppa:sudo add-apt-repository ppa:ondrej/php
  2. sudo apt-get update& sudo apt-get upgrade
    但是会把所有版本的php及其xdebug 下载好(我也没搞清楚)
    xdebug的相应版本在/usr/lib/php/目录下
    我们从上述步骤中看到Zend api为 20190902相应版本的xdebug的so文件就在该目录下
    在这里插入图片描述

我们直接到8步骤,复制后,9 更新ini文件如下

zend_extension = xdebug
xdebug.remote_enable = On
xdebug.mode = debug
xdebug.discover_client_host = true
xdebug.remote_host="127.0.0.1"
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
;idekey 区分大小写
xdebug.idekey="PHPSTORM"
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "xxxx"

浏览器安装xdebug-helper

谷歌安装xdebug-helper插件,不多说

phpstorm 配置xdebug

详见上述博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/364845.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nginx学习 (1) —— 初识Nginx(编译安装、启动停止、简单配置)

文章目录Nginx的发行版本Nginx的编译安装(ubuntu18.04)Nginx相关操作Nginx启动停止命令安装Nginx为系统服务Nginx的目录结构与基本原理目录结构:基本运行原理:基础配置:核心配置Nginx的发行版本 Nginx开源版&#xff…

【UE4 制作自己的载具】1-使用3dsmax制作载具

学习谌嘉诚课程所做笔记源视频链接:【虚幻4】UE4雪佛兰科迈罗汽车详细制作中文教程!(汽车骨骼绑定驾驶、动画蓝图)汽车模型下载链接:https://pan.baidu.com/s/1ZH5gaAwckzRIZ0w6n0qvIA密码:19sj步骤&#x…

【2023蓝桥杯】2017年第八届C/C++A组真题(解析笔记)

目录 T1:迷宫 - 暴力dfs标注 T2:跳蚱蜢 - 9数算式 全排列 枚举乘号位置 T3:魔方状态 - 模拟 判重 (高手入*****) T4:方格分割 - dfs 从中心点去切割 T5:字母组串 - 递归思维-搞清楚参数…

Spring架构篇--2.5.4 远程通信基础--Select 源码篇--selector.close()总结

前言:通过selector 的poll 来完成所有socket 事件的监听,当不需要selector时 通过selector.close() 完成通道的关闭和资源的释放; 1 selector.close()关闭: AbstractSelector 类中close 方法: public final void cl…

简单说说OSI网络七层模型

如果你读过计算机专业,或者学习过网络通信,那你一定听说过 OSI 模型,它曾无数次让你头大。OSI 是 Open System Interconnection 的缩写,译为“开放式系统互联”。OSI 模型把网络通信的工作分为 7 层,从下到上分别是物理…

你知道这几种常见的JVM调优场景吗?

看此文前需已了解了运行时的数据区域和常用的垃圾回收算法,也了解了Hotspot支持的垃圾回收器。 一、cpu占用过高 cpu占用过高要分情况讨论,是不是业务上在搞活动,突然有大批的流量进来,而且活动结束后cpu占用率就下降了&#xf…

WebGL和OpenGL的区别及关系

什么是WebGLWebGL™是一个跨平台的,免版税的开放Web标准,用于基于OpenGL ES的低级3D图形API,通过HTML5 Canvas元素向ECMAScript公开。熟悉OpenGL ES 2.0的开发人员将使用GLSL将WebGL识别为基于Shader的API,其构造在语义上与底层Op…

FISCO BCOS(二十七)———java操作WeBase

一、搭建fiscobcos环境 1.1、安装jdk1.8 https://blog.csdn.net/weixin_46457946/article/details/1232435131.2、安装mysql https://blog.csdn.net/weixin_46457946/article/details/1232447361.3、安装python https://blog.csdn.net/weixin_46457946/article/details/123…

Lookup argument总览

1. 引言 详情参看Ingonyama团队Tomer 2023年论文《A Brief History of Lookup Arguments》。 Bootle等人2018年论文《Nearly linear-time zero-knowledge proofs for correct program execution》中首次提出了lookup协议,用于证明如下statement: 此处…

Python socket之TCP通信、下载文件

TCP简介TCP介绍TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。TCP通信需要经过创建连接、数据传送、…

手撕八大排序(上)

排序的概念及其引用: 排序的概念: 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有…

Linux上基于PID找到对应的进程名以及所在目录

Linux上基于PID找到对应的进程名以及所在目录前言找到进程的pid通过top命令查看通过 ps -ef |grep nignx进行查看通过端口号进行查看查看nginx进程目录前言 在一台新接触的服务器,却不熟悉搭建所在目录的时候,这时候就就可以通过ps查找进程,并…

巧用性格上的差异来组建团队

你好,我是得物 App 交易平台及中间件平台的 Team Leader Alan。 组建团队过程中,你有没有遇到过类似的场景:团队中某些人之间总是互相不对付、气场不合,不管是日常沟通中还是方案对齐,总是会出现面红耳赤的场面。 从…

Linux_线程概念

进程回顾 在学习线程之前,我们先回顾一下之前讲的进程概念 当我们创建一个进程,操作系统会将磁盘中的代码load到内存中,然后创建当前进程的task_struct(后面可能会用”PCB“或者”进程控制块“代替),创建…

egg+vue实现登录功能【解决vue中登录的潜在问题】

前后端登录功能实现前言一、cookie和session二、代码呈现1.egg部门代码2.vue代码过程前言 记忆在时间面前总是不堪一击! 本人的记录,下面内容仅供参考,如有什么什么,请自行解决。 一、cookie和session 不多赘述,详情…

大数据Hadoop教程-学习笔记03【Hadoop MapReduce与Hadoop YARN】

视频教程:哔哩哔哩网站:黑马大数据Hadoop入门视频教程教程资源: https://pan.baidu.com/s/1WYgyI3KgbzKzFD639lA-_g 提取码: 6666【P001-P017】大数据Hadoop教程-学习笔记01【大数据导论与Linux基础】【17p】【P018-P037】大数据Hadoop教程-学习笔记02【…

风险的定义以及CAPM 和 APT

文章目录风险定义:CAPMAPT(Arbitrage Pricing Theory)套利定价模型风险定义: 投资组合的收益率等于组合中各资产收益率的加权平均,但是投资组合的标准差并不等于组合中各资产标准差的加权平均,而是小于等于…

Git 详细教程

目录1.简介:2.安装Git3.Git 如何工作状态区域4.使用Git5.Git配置5.1 创建仓库 - repository5.2 配置5.2.1 --global5.2.2 检查配置6. 查看工作区的文件状态6.1什么是工作区6.2 如果显示乱码的解决方式7.在工作区添加单个文件8. 添加工作区文件到暂存区9. 创建版本10…

数据结构与算法(二)(Python版)

数据结构与算法(一)(Python版) 文章目录递归动规初识递归:数列求和递归三定律递归的应用:任意进制转换递归的应用:斐波那契数列递归调用的实现分治策略与递归优化问题和贪心策略找零兑换问题贪心…

RocketMQ-基本概念

主题(Topic) Apache RocketMQ 中消息传输和存储的顶层容器,用于标识同一类业务逻辑的消息。主题通过TopicName来做唯一标识和区分。 主题的作用主要如下: 定义数据的分类隔离: 在 Apache RocketMQ 的方案设计中&…