Mac 安装配置php xdebug

本地调试

0、原理图

https://paper.seebug.org/308/

测试demo构建方法

新建空白项目,目录选择Apache默认项目目录

1、下载xdebug

https://xdebug.org/files/xdebug-2.9.0.tgz

具体自己的版本要根据的方法得出

2、使用官方检测指导工具

https://xdebug.org/wizard

将phpinfo()打印内容的网页源码复制到框里,点击检测,会得到提示

然后根据提示进行操作

Instructions

  1. Download xdebug-2.9.0.tgz

  2. Install the pre-requisites for compiling PHP extensions. On your Mac, we only support installations with 'homebrew', and brew install php && brew install autoconf should pull in the right packages.

  3. Unpack the downloaded file with tar -xvzf xdebug-2.9.0.tgz

  4. Run: cd xdebug-2.9.0

  5. Run: phpize (See the FAQ if you don't have phpize).

    As part of its output it should show:

     
    Configuring for:
    ...
    Zend Module Api No:      20180731
    Zend Extension Api No:   320180731

    If it does not, you are using the wrong phpize. Please follow this FAQ entry and skip the next step.

  6. Run: ./configure

  7. Run: make

  8. Run: cp modules/xdebug.so /usr/local/lib/php/pecl/20180731

  9. Edit /usr/local/etc/php/7.3/php.ini /usr/local/etc/php/7.3/php.ini and add the line zend_extension = /usr/local/lib/php/pecl/20180731/xdebug.so Make sure that zend_extension = /usr/local/lib/php/pecl/20180731/xdebug.so is below the line for OPcache.

  10. Restart the webserver

sudo apachectl restart

安装路径:/Users/taylor/workSoft/php-debug

3、配置php.ini

vim /usr/local/etc/php/7.3/php.ini

大写G到最后一样,添加配置

 
 
[xdebug]
zend_extension=/usr/local/lib/php/pecl/20180731/xdebug.so
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.idekey=PHPSTORM
xdebug.remote_handler=dbgp
xdebug.remote_connect_back=1
xdebug.remote_host=localhost
xdebug.remote_port=9050
xdebug.scream=0
xdebug.show_local_vars=1

参数分析:

  1. xdebug.remote_connect_back = 0 ,也是 Xdebug 的默认方式,这种情况下,Xdebug 在收到调试通知时会读取配置 xdebug.remote_host 和 xdebug.remote_port ,默认是 localhost:9000,然后向这个端口发送通知,这种方式只适合单一客户端开发调试

  1. 另外一种方式则是不绑定IP,xdebug.remote_connect_back = 1, Xdebug根据请求来源(REMOTE_HOST)来发起调试。示例图如下:

  1. remote_connect_back与remote_host,remote_port的关系

    xdebug.remote_connect_back = 1 //如果开启此,将忽略下面的 xdebug.remote_host 的参数,也就是说不会读取phpstorm中xdebug插件dbgp proxy中的参数,任何ip调用调试都会返回调试信息到该IP的remote_port端口中。

  2. remote_host和remote_port

    xdebug.remote_host=192.168.x.x //注意这里是,客户端的ip<即IDE的机器的ip,不是你的web server>xdebug.remote_port = 9001 //注意这里是,客户端的端口<即IDE的机器的ip,不是你的web server>

  3. 最终实验结果是,xdebug.remote_port 任何没被占用的端口都可以

重启php-fpm

sudo killall php-fpm sudo php-fpm

或者 /etc/init.d/php73-fpm reload

再打印phpinfo就可以看到

4、配置phpstorm

debug配置

servers配置

5、php项目运行方式

1.phpstorm ide作为调用者

开启监听后,直接点击小虫子进行运行,浏览器中会自动弹出窗口,地址类似于

http://localhost/helloDebug/hello.php?XDEBUG_SESSION_START=17598

自动带了xdebug_session

2.使用xdebug helper插件

单击左键后,点击debug,开启插件

然后浏览器中输入想要调试的地址即可 http://localhost/helloDebug/hello.php

效果图

参考:

https://drops.blbana.cc/2019/09/27/PHPStorm%E8%BF%9C%E7%A8%8B%E8%B0%83%E8%AF%95%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA%E4%BB%A5%E5%8F%8A%E5%8E%9F%E7%90%86/

https://www.jianshu.com/p/da179e363318

Mac 使用自带php和Apache 安装配置Xdebug 开启本地调试模式的更多相关文章

  1. centos tomcat/resin安装配置 卸载系统自带的java tomcat安装配置 安装JDK resin安装配置 第二十八节课

    centos  tomcat/resin安装配置  卸载系统自带的java  tomcat安装配置  安装JDK   resin安装配置    第二十八节课 tomcat和java都不需要编译 tom ...

  2. Apache安装配置步骤

    注释:这里以Linux 红帽商业版为例~~~~~~~纯手打啊 Apache安装配置步骤 准备:关闭其他虚拟设备 #/etc/init.d/libvirtd stop #/etc/init.d/xend ...

  3. Ajax - Apache安装配置

    apache安装配置 1.安装wamp2.配置根路径3.默认的网站根路径是安装目录的www子目录,如果不想使用默认目录,可以自己配置.配置方式如下: --找到文件wamp\bin\apache\Apa ...

  4. Ubuntu 14.04 apache安装配置

    http://jingyan.baidu.com/article/6d704a130c8a0d28da51ca5f.html Ubuntu 14.04 apache安装配置 1.安装 ~# apt-g ...

  5. 安装配置Xdebug模块详解

    1.XDebug安装配置 (1)下载XDebug下载地址:http://www.xdebug.org/必须下载跟机器上安装的php匹配的版本才行.具体下载方法如下:将phpinfo网页的源代码拷贝到h ...

  6. Mac OS 10.10.3下Apache + mod_wsgi配置【一】

    [一] 首先,MAC是自带Apache的,在/private/etc/apache2路径下,能够使用apachectl -v查看版本号.我的版本号例如以下: Server version: Apach ...

  7. Center OS 7 Apache安装配置

    感谢:https://blog.csdn.net/u014157384/article/details/79497761 该作者的帮助. 自己购买了国外的服务器,想把我的网页放到服务器,网页是以web ...

  8. 4-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(云端电脑(Windows)安装配置数据库,使用本地Navicat for MySQL和手机APP 远程连接测试)

    3-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(安装配置数据库,使用Navicat for MySQL和手机APP 连接测试) 根据前面的教程把软件复制到云 ...

  9. Centos 下php安装配置xdebug扩展

    2018年05月02日 19:54:42 杨汉松 阅读数:44   1.下载安装xdebug 获取xdebug wget http://www.xdebug.org/files/xdebug-2.3. ...

随机推荐

  1. [CNKI]个人论文收录

    [1]在校期间参加大创项目研究 以论文形式结题 发表时间:2018-03-25 基于VR虚拟现实技术的CBD微圈电商平台的研究 林旭; 陈丽娟 内江科技 2018-03-25 期刊 链接: 基于VR虚 ...

  2. 懂得三境界-使用dubbo时请求超过问题

    引子 刚才下班回家路上,无意中听到大街上放的歌,歌词有这么一句:"毡房外又有驼铃声声响起,我知道那一定不是你".这一句我似乎听懂了歌者的魂牵梦绕和绝望,如果在十年前我大概只能感受出 ...

  3. 解决zabbix server is running | No 的方法

    Zabbix 的简介 Zabbix 可以监控网络和服务的运行状况,Zabbix 利用灵活的告警机制,允许用户对事件发送基于 Email 的告警.但最近在使用的时候遇到一个问题. 这篇文章主要给大家介绍 ...

  4. 07.python函数作用域global、nonlocal、LEGB

    函数作用域 作用域 一个标识符的课件范围,这就是标识符的作用域,一般常说的是变量的作用域 def foo():    x = 100 print(x) # 可以访问到吗 上例中x不可以访问到,会抛出异 ...

  5. dubbo接口方法重载且入参未显式指定序列化id导致ClassCastException分析

    问题描述&模拟 线上登录接口,通过监控查看,有类型转换异常,具体报错如下图 此报错信息是dubbo consumer端显示,且登录大部分是正常,有少量部分会报类型转换异常,同事通过更换方法名+ ...

  6. 利用栈实现括号匹配(python语言)

    原理: 右括号总是与最近的左括号匹配 --- 栈的后进先出 从左往右遍历字符串,遇到左括号就入栈,遇到右括号时,就出栈一个元素与其配对 当栈为空时,遇到右括号,则此右括号无与之匹配的左括号 当最终右括 ...

  7. 《剑指offer》面试题63. 股票的最大利润

    问题描述 假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少? 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = ...

  8. leetcode 233. 数字 1 的个数

    问题描述 给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数. 示例: 输入: 13 输出: 6 解释: 数字 1 出现在以下数字中: 1, 10, 11, 12, 13 . 问 ...

  9. 带你玩转Flink流批一体分布式实时处理引擎

    摘要:Apache Flink是为分布式.高性能的流处理应用程序打造的开源流处理框架. 本文分享自华为云社区<[云驻共创]手把手教你玩转Flink流批一体分布式实时处理引擎>,作者: 萌兔 ...

  10. VictoriaMerics学习笔记(1):翻译官方广告

    先看看VictoriaMetrics官网网站上是如何作(tree)宣(new)传(bee)的: 官方广告 0.(监控领域)最快解决方案 为高性能而设计 便于安装 支持单机和群集版本 1.更高效的存储空 ...