详细介绍phpstorm debug工具之yasd(超好用)

WBOY
发布: 2022-01-17 15:33:15
转载
6087人浏览过

本篇文章给大家带来了超好用的phpstorm debug工具,平常在开发中,可能会有人选择安装xdebug扩展,在phpstorm中配置xdebug来调试,希望对大家有帮助。

详细介绍phpstorm debug工具之yasd(超好用)

平常在开发中,总会有一些需要 debug 的时候,手动打断点 var_dump、die 等方式总是耗时耗力还不优雅,这时候可能会有人选择安装 xdebug 扩展,在 phpstorm 中配置 xdebug 来调试。

但当你需要用到 swoole 框架时,并需要调试 swoole 框架中代码时,xdebug 是不能用在 swoole 上的,是和 swoole 有冲突的。

然后我发现了一款比较好用的,可以兼容 fpm 框架,和 swoole 框架的 debug 调试工具,yasd.

立即学习PHP免费学习笔记(深入)”;

安装

1. Mac 上安装 boots 库

brew install boost
登录后复制

2. 从 Github 上下载 yasd 源码

git clone https://github.com/swoole/yasd.git
登录后复制

3. 编译安装 yasd

cd yasd
phpize --clean && \
phpize && \
./configure && \
make clean && \
make && \
make install
登录后复制

4. 修改 php.ini

zend_extension="yasd.so"
;命令行调试
;yasd.debug_mode=cmd
;远程调试
yasd.debug_mode=remote
;本地开发地址
yasd.remote_host=127.0.0.1
;本地开发监听端口
yasd.remote_port=9000
登录后复制

查看扩展信息

➜  yasd php --ri yasd
yasd
Yasd => enabled
Author => codinghuang <codinghuang@qq.com>
Version => 0.3.9-alpha
Built => Jan 15 2022 14:09:47
Directive => Local Value => Master Value
yasd.breakpoints_file => no value => no value
yasd.debug_mode => remote => remote
yasd.remote_host => 127.0.0.1 => 127.0.0.1
yasd.remote_port => 9000 => 9000
yasd.depth => 1 => 1
yasd.log_level => -1 => -1
yasd.max_executed_opline_num => 0 => 0
yasd.init_file => no value => no value
yasd.open_extended_info => 0 => 0
xdebug.coverage_enable => 1 => 1
xdebug.profiler_enable => 1 => 1
xdebug.remote_autostart => 1 => 1
xdebug.remote_connect_back => 0 => 0
xdebug.remote_mode => req => req
xdebug.idekey => hantaohuang => hantaohuang
登录后复制

5. 调试脚本

使用 yasd 调试脚本,必须要添加 -e 的 php 参数,例如这样

# 调试普通php脚本
php -e test.php
# 调试 laravel 的 command
php -e artisan test
# 调试 hyperf 框架
php -e bin/hyperf start
登录后复制

配置 phpstorm

1. 配置 phpstorm 监听 9000 端口

10.png

2. 点击 phpstorm 右上角的电话图标启动监听

Natural Language Playlist
Natural Language Playlist

探索语言和音乐之间丰富而复杂的关系,并使用 Transformer 语言模型构建播放列表。

Natural Language Playlist 67
查看详情 Natural Language Playlist

11.png

3. 测试 debug 调试

在 Laravel 中随便写一个 test command

php -e artisan test
登录后复制

12.png

到这里就已经成功了

调试 Hyperf 框架

上面说了在 fpm 中调试,接下来说一下在 Hyperf 框架中如何调试

需要注意的几点

1、在 Hyperf 中使用需要将 config.php 中的 scan_cacheable 参数设置为 true,该参数为是否扫描代理类,若设置为 true,则每次启动都会直接扫描缓存代理类,而不是重新扫描在生成代理类。

设置为 true 后需要注意,每次修改代码需要手动生成代理类,composer dump-autoload -o,然后在启动。

或者直接在代理类中修改代码,当 debug 结束后,再将代理类中的代码复制到真实类中。

代理类生成路径在 runtime/container/proxy

2、在 Hyperf 框架中如果使用到了 Swoole Server,需要将 worker_num 设置为 1 否则断点可能不会生效。该参数在 server.php 中。

剩下的调试就和上面讲的没什么区别了。

推荐学习:《phpstorm教程

以上就是详细介绍phpstorm debug工具之yasd(超好用)的详细内容,更多请关注php中文网其它相关文章!

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:learnku网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号