6

安装xdebug

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

XDEBUG EXTENSION FOR PHP | DOWNLOADS

如何选择正确版本

  • 输出phpinfo()函数的内容

clipboard.png

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

clipboard.png

  • 全选复制

clipboard.png

clipboard.png

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

clipboard.png

安装扩展

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

windows

放到php ext的目录下
配置php.ini
    [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是否安装成功

clipboard.png

接下去配置phpstorm

我是基于这个版本的

clipboard.png

打开phpstorm配置文件

clipboard.png

设置本地的php解释器

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

clipboard.png

如果没有上述选项

clipboard.png

填写服务器端的相关信息

  • Host指的是服务器对应的项目的访问域名

    • 本地nginx我用127.0.0.1
    • 用默认的80端口

clipboard.png

配置xdebug选项

clipboard.png

配置DBGp Proxy

clipboard.png

添加一个调试配置

clipboard.png

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

clipboard.png

clipboard.png

配置chrome

安装浏览器插件

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

clipboard.png

配置插件

clipboard.png

开始调试

clipboard.png

clipboard.png

后记

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


zjinc36
141 声望8 粉丝

世界是辩证唯物的