phpstrom 安装配置使用 xdebug

phpstrom 安装配置使用 xdebug

下载并安装 xdebug

  • windows

    将 phpinfo() 输出的内容全选复制到 https://xdebug.org/wizard 中,确定需要下载的版本

  • linux

    官网:https://xdebug.org/download 或者兼容 swoole 的xdebug 版本:https://github.com/swoole/sdebug

    [mac sdebug 源码编译安装实例]
    
    git clone https://github.com/swoole/sdebug.git  -b sdebug_2_9 --depth=1
    cd sdebug
    phpize
    ./configure
    make clean
    make
    make install
    

添加扩展到php.ini并配置

mac php.ini 配置

[xdebug]
; swoole - sdebug 
; git clone https://github.com/swoole/sdebug.git -b sdebug_2_9 --depth=1
zend_extension=xdebug
;是否运行远程终端,必须开启
xdebug.remote_enable=On
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
;这个端口号要和phpstorm中的保持一致,示例的端口是9009
xdebug.remote_port=9009
;调试器关键字
xdebug.idekey=PHPSTROM

重启并检查是否存在xdebug

php -m 或者 php --ri Sdebug

开始配置phpstrom的设置

以下是 mac phpstrom 配置步骤实例

  1. 打开 phpstrom 设置

  2. Preferences | Languages & Frameworks | PHP | Debug

将 xdebug 区域中的 xdebug port 修改为 php.ini 中设置的 xdebug.remote_port

  1. 设置本地代理服务器Preferences | Languages & Frameworks | PHP | Debug | DBGp Proxy

    IDE key = php.ini 中设置的xdebug.idekey, phpstrom 都是等于PHPSTROM

    Host = 访问当前项目的主机(ip或者域名),建议域名

    Port = 访问当前项目的域名

    phpstrom 会自动为每个项目保存一份 DBGp Proxy 配置

  2. 设置访问当前项目的服务Preferences | Languages & Frameworks | PHP | Servers

    Name = 随便写。laravel69

    Host = DBGp Proxy中设置的Host

    Port = DBGp Proxy中设置的Port

    Debbuger = Xdebug

    phpstrom 会自动为每个项目保存一份 Servers 配置

  3. 应用&保存以上配置

编辑项目debug调试配置

  1. 在项目窗口上方。点击Edit Configuration->点击+号-》选择php Web Page

    Name = 顺便写

    Server = 选择上面设置Servers

    Start URL = 项目访问入口地址

    Brower = Chrome 「后面需要添加 Chrome 的 xdebug 扩展」

    这里的 Browser 是 phpstrom 后台在debug 时获取 Chrome 的session 用的

  2. 安装 Chrome 的 xdebug 扩展

在 Chrome 应用商店添加或者离线下载并拖拽添加, 具体百度

  1. 配置 Chrome

选择扩展的选项

在IDE key 中选择PhpStrom, Chrome 扩展默认的PhpStrom IDE key 等于PHPSTROM

开始调试

  1. 回到项目

  2. 在需要调试的位置打上断点(phpstrom 行号右侧位置)

  3. 在窗口右上方点击{类此虫}的debug图标,会自动跳转到默认浏览器(php Web Page 中配置的 Browser 无关)之后,会自动跳转到phpstrom中。在phpstrom下方窗口中显示断点开始的变量变化值,可以选择下一步,进入断点,下一个断点

    点击调试图标后 phpstrom 时会获取 Chrome 的 session 用用于后面存在断点时使用xdebug功能。所以后面直接刷新页面只要存在断点并且开始在调试旁边的{监听按钮打开}即可开始调试

问题

  1. 访问页面时偶尔出现404

    原因:在 php.ini 中配置加载 XDebug 扩展后,nginx 会出现代理到php的错误
    解决:
     1. 还需要调试功能,再次刷新即可,一次不行多次刷新
     2. 暂时不需要或者不需要调试功能,可不加载XDebug 扩展
    

你可能感兴趣的:(phpstrom 安装配置使用 xdebug)