php-xdebug配置
anlondon Lv6

来源:PhpStorm配置Xdebug调试_司马彰的学习专栏 - SegmentFault 思否

安装xdebug

去官网下载对应版本的xdebug扩展
Xdebug: Downloads

如何选择正确版本

1.官网下载

  • 输出phpinfo()函数的内容

![一座浮岛](/2021/04/05/php-xdebug配/pasted-0
image.png)

  • 查看输出页面的网页源码

image!

  • 全选复制

image

image

  • 可以得到自己当前版本的php对应哪一个xdebug文件

image

2.GitHub下载历史版本

当官网没有时,我们可以去GitHub找它的历史版本
xdebug.org/html/files at master · derickr/xdebug.org · GitHub

  • 输出phpinfo()函数的内容
    image
    根据图中信息,php版本为5.3.29-nts-v9-x86

    php版本对应的xdebug说明:
    这是一个xdebug文件php_xdebug-2.1.2-5.3-vc9-nts-x86_64.dll

    • php_xdebug-2.1.2表示是2.1.2版本的xdebug
    • 5.3-vc9表示php是5.3.*版本,并且Compiler MSVC9 (Visual C++ 2008)
    • nts则是None-Thread Safe非线程安全,Thread Safe=disabled 则是表示nts
    • x86_64则是Architecture=x86!!不一定非要32位的,可以先试64位的!!
  • 进入页面后按CTRL+f进行搜索
    image

下载好的dll配置好后如果phpinfo中没有打印xdebug这一栏,则说明该版本不适合,需要更换版本
image
不然调试时就会报找不到idekey的提示!
(waiting for incoming connection with ide kay’xxx’)
吐槽下:如果没有耐心去试,直接搜索支持php5.3-vc9-nts-x86 的xdebug 说不定有惊喜

安装扩展

这个windows系统和Linux系统是不一样的(网上很多,不细说)

windows

放到php ext的目录下
配置php.ini

1
2
3
4
5
6
7
8
[XDebug] 
zend_extension = "D:\你php的ext目录位置\php\ext\php_xdebug.dll"
xdebug.remote_autostart=1
xdebug.remote_enable = On
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost" #本地服务器
xdebug.remote_port = 9010 #默认为9000,防止与php-fpm冲突,改为9010
xdebug.idekey="PHPSTORM" #会话需要的key

Linux

这个很多种情况,一般就apt和yum,如果手动编译就需要.so扩展放到正确位置(phpize使用)
配置phpStorm
先查看xdebug是否安装成功
image

配置phpstorm

我是基于这个版本的
image

打开phpstorm配置文件
image

设置本地的php解释器

php解释器,就是php的二进制文件,windows下的php安装路径下的php.exe,类unix系统就是bin/php文件
image

如果没有上述选项
image

填写服务器端的相关信息
  • Host指的是服务器对应的项目的访问域名
    • 本地nginx我用127.0.0.1
    • 用默认的80端口

image

配置xdebug选项

image

配置DBGp Proxy

DBGp Proxy:多人远程调试
image

添加一个调试配置

image

  • 我们这里使用的是PHP Web Page,是需要依赖浏览器,额外的说明我写在本文的后记了,不是现在需要关注的重点
    image

image

配置chrome

安装浏览器插件
我这里使用的是chrome浏览器,安装的是xdebug helper插件,无法使用应用商店的可以到国内镜像网站去下
image

配置插件
image

开始调试
image

image

后记

本文中,我们PhpStorm使用的是PHP Web Page,这是需要依赖浏览器,且浏览器是必须安装插件
另一种情况,如果我们使用PHP Remote Debug,就只需要在网址后面加上?XDEBUG_SESSION_START=PHPSTORM,这样可以调试了,和浏览器无关
两者各有优劣,使用Remote Debug的坏处在于需要加上参数,但却不依赖浏览器,有利于手机App,微信的调试


配置总结:

1、不要依靠wamp上php版本对应的xdebug版本,要按照上面描述的方法进行检测,下载匹配的xdebug版本。

2、这个调试是要在浏览器里安装插件才能进行调试,并且要手动输入调试地址,直接点击下图所示调试图标无效,暂时没弄明白。
image

3、google插件下载地址:[http://chromecj.com/web-development/2018-04/980/download.html]

 Comments