PHP-Xdebug远程调试配置

安装Xdebug

可以直接参考:

https://www.cnblogs.com/LWMLWM/p/8251905.html

Xdebug的版本必须跟安装的PHP版本匹配,在http://www.xdebug.org/find-binary.php 页面,将phpinfo()页面的源代码直接粘贴进框内,点击下方的Analyse my phpinfo() outpu按钮,会自动展示下载和安装指导

输出示例,由于自己已经安装了Xdebug,所以会提示已安装了最新版,重点是下方的安装指导。

Windows

You're already running the latest Xdebug version

But here are the instructions anyway:

1.Download php_xdebug-2.6.0-7.2-vc15-x86_64.dll
2.Move the downloaded file to D:\Dev\PHP7\ext
3.Update D:\Dev\PHP7\php.ini and change the line
zend_extension = D:\Dev\PHP7\ext\php_xdebug-2.6.0-7.2-vc15-x86_64.dll
4.Restart the webserver

翻译:

  1. 下载指定版本的php_xdebug
  2. 将下载的文件挪到D:\Dev\PHP7\ext目录下(根据自己的phpinfo()输出不同,这里的目录页不同)
  3. 更新D:\Dev\PHP7\php.ini文件,添加擴展zend_extension = D:\Dev\PHP7\ext\php_xdebug-2.6.0-7.2-vc15-x86_64.dll
  4. 重启Web服务器

MacOS-MAMP

按照指导正常下载,解压,进目录,然后 (注意:php7.2.1随自己的版本而变化)

/Applications/MAMP/bin/php/php7.2.10/bin/phpize
./configure --with-php-config=/Applications/MAMP/bin/php/php7.2.10/bin/php-config
make
make test

把modules下生成的xdebug.so复制到/Applications/MAMP/bin/php/php7.2.10/lib/php/extensions/no-debug-non-zts-20170718

编辑MAMP配置文件,添加xdebug.so

重启Web服务器,比如Apache

踩坑记录

phpsize的使用

一开始是尝试使用brew安装的xdebug,各种brew search php-xdebug brew search php72-xdebug ,然后安装,都不行。后来在brew官网看到2018年3月的更新公告,大概意思是这个模块已经关闭了。

于是开始尝试编译安装,结果一直提示

CrocutaxdeMacBook-Pro:xdebug-2.6.1 crocutax$ phpsize
-bash: phpsize: command not found

后来通过phpize --help查找phpsize的全路径

CrocutaxdeMacBook-Pro:xdebug-2.6.1 crocutax$ phpize --help
Usage: /usr/local/bin/phpize [--clean|--help|--version|-v]

然后直接使用全路径运行phpsize,成功出现官网给出的提示。

CrocutaxdeMacBook-Pro:xdebug-2.6.1 crocutax$ /usr/local/bin/phpize
Configuring for:
PHP Api Version:         20170718
Zend Module Api No:      20170718
Zend Extension Api No:   320170718

之后就愉快的往下进行就可以了。

注意

如果是使用MAMP集成工具, 那么需要使用集成工具的`phpsize`命令, 比如`/Applications/MAMP/bin/php/php7.2.10/bin/phpize`

make时找不到php.h文件

安装xdebug时, phpsize./configure 完毕之后, 在make 环节出现异常

/xxxxxxxxxxx/xdebug-2.7.2/xdebug.c:25:10: fatal error: 'php.h'
			file not found
#include "php.h"
				 ^~~~~~~
1 error generated.
make: *** [xdebug.lo] Error 1

原因: Mojaves没有安装标头,要安装标头

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

安装完毕, 继续make, 一切正常了 .

参考

https://cloud.tencent.com/developer/ask/211033

要单独添加zend_extension

extension_dir = "/usr/local/lib/php/pecl/20170718"
zend_extension = "/usr/local/lib/php/pecl/20170718/xdebug.so"

配置xdebug参数

自己按照官方指引,只配置了扩展,没有配置其他xdebug参数,导致最终配置完毕后不生效。开发环境下使用的配置如下:

;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;

zend_extension = D:\Dev\PHP7\ext\php_xdebug-2.6.0-7.2-vc15-x86_64.dll
xdebug.remote_enable = On  
xdebug.remote_handler = dbgp     
xdebug.remote_host= localhost  
xdebug.remote_port = 9000  
xdebug.idekey = "PHPSTORM"  

检测Xdebug是否安装成功,刷新phpinfo页面,看到Xdebug的扩展信息即为配置成功。

PHPStorm配置

由于涉及到大量图片展示,因此只记录需要配置的地方

  1. File->Settings->Languages&Frameworks->Servers
  2. File->Settings->Languages&Frameworks->Debug
  3. File->Settings->Languages&Frameworks->Debug->DBGp Proxy
  4. Edit Configurations->添加PHP Web Page->配置Server和Start URL(项目路径)
  5. 小话筒开启监听
  6. 开启Debug小虫子(会使用默认浏览器打开刚才配置的Start URL页面)
  7. 打断点,可以调试了

之后可以进行本地开发调试。

☆终极有效配置

基础安装xdebug扩展库成功后, 按如下方式即可

https://segmentfault.com/a/1190000014942730

使用PhpStorm 配置 Debug Configuration 与 Servers 方式

在请求中添加debug按钮 获取的 ?XDEBUG_SESSION_START=19177 即可 (header , body , url 都可以)

其他各种千奇百怪的配置方式都 , 都是时刻成功 , 时刻失败 .

注意事项:

PHP 扩展配置文件中 xdebug.remote_port 和 PHPSTORM中PHP->Debug->Xdebug->Debug port 必须一致, 比如9001

更改PHPSTORM的配置后, 点debug按钮重启即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Crocutax

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值