Home
Document
Q&A
Video
Donate
Source Code
Code-Galaxy 云原生平台
Business
Swoole Tracker
Swoole Compiler
Login
Register
全部
提问
分享
讨论
建议
公告
开发框架
发表新帖
yasd 调试器 v0.2.5 版本发布,支持 PHP8 以及在 IDE 中使用调试
yasd 距离上次发布已经过去了十几天,现在发布到了 v0.2.5 版本,相信有许多的小伙伴已经用上了 那么还有人记得上次发布时说过支持了哪些功能吗? 1. 调试协程 2. 断点调试 3. 断点缓存 4. 查看调用栈 5. 单步调试 上次发布之后就有小伙伴提交 issue,询问是否支持 PhpStorm 以及 VScode,那么它来了 [@codinghuang](https://github.com/huanghantao) 不负众望,已经支持了 PHP8 和 IDE 调试  前往公众号观看[如何在 IDE 中使用 yasd 调试器](https://mp.weixin.qq.com/s/qw1nKd7hIPYiBqnewUE_gg) 这个版本支持的功能有: 1. 支持 PHP8 2. 支持 IDE 调试(支持两种模式,IDE 和 cmd 调试) 3. 变量监视 4. 打印变量(支持打印对象等) 不是吧不是吧?你还没有用过?快来试试 ## 安装 yasd 在编译安装之前你需要安装`boost`库。 macOS: ```bash brew install boost ``` Ubuntu: ```bash apt-get install libboost-all-dev ``` CentOS: ```bash yum install boost boost-devel ``` 拉取 master 分支的源码,或者从 [GitHub](https://github.com/swoole/yasd) 下载对应的[release 版本](https://github.com/swoole/yasd/releases) ```bash git clone https://github.com/swoole/yasd.git ``` 常规编译流程 ```bash phpize --clean && \ phpize && \ ./configure && \ make clean && \ make && \ make install ``` 修改 php.ini 文件: ```ini zend_extension=yasd ``` > 特别注意这里是`zend_extension`,有些小伙伴用不起来就是因为写成了`extension` 查看扩展是否安装成功 ```bash php --ri yasd ``` 如果你要使用 IDE 模式调试,还需要额外添加一些配置 ```ini zend_extension=yasd yasd.debug_mode=remote yasd.remote_host=127.0.0.1 yasd.remote_port=9000 ``` 不设置`yasd.debug_mode`选项的话,默认就是 cmd 模式调试 ```ini zend_extension=yasd yasd.debug_mode=cmd ``` 你可以自由的切换两种调试模式,快去试试吧 不要忘记给 [yasd](https://github.com/swoole/yasd) 一个 Star 哦
发布于1年前 · 34 次浏览 · 来自
公告
鲁飞
yasd 距离上次发布已经过去了十几天,现在发布到了 v0.2.5 版本,相信有许多的小伙伴已经用上了 那么还有人记得上次发布时说过支持了哪些功能吗? 1. 调试协程 2. 断点调试 3. 断点缓存 4. 查看调用栈 5. 单步调试 上次发布之后就有小伙伴提交 issue,询问是否支持 PhpStorm 以及 VScode,那么它来了 [@codinghuang](https://github.com/huanghantao) 不负众望,已经支持了 PHP8 和 IDE 调试  前往公众号观看[如何在 IDE 中使用 yasd 调试器](https://mp.weixin.qq.com/s/qw1nKd7hIPYiBqnewUE_gg) 这个版本支持的功能有: 1. 支持 PHP8 2. 支持 IDE 调试(支持两种模式,IDE 和 cmd 调试) 3. 变量监视 4. 打印变量(支持打印对象等) 不是吧不是吧?你还没有用过?快来试试 ## 安装 yasd 在编译安装之前你需要安装`boost`库。 macOS: ```bash brew install boost ``` Ubuntu: ```bash apt-get install libboost-all-dev ``` CentOS: ```bash yum install boost boost-devel ``` 拉取 master 分支的源码,或者从 [GitHub](https://github.com/swoole/yasd) 下载对应的[release 版本](https://github.com/swoole/yasd/releases) ```bash git clone https://github.com/swoole/yasd.git ``` 常规编译流程 ```bash phpize --clean && \ phpize && \ ./configure && \ make clean && \ make && \ make install ``` 修改 php.ini 文件: ```ini zend_extension=yasd ``` > 特别注意这里是`zend_extension`,有些小伙伴用不起来就是因为写成了`extension` 查看扩展是否安装成功 ```bash php --ri yasd ``` 如果你要使用 IDE 模式调试,还需要额外添加一些配置 ```ini zend_extension=yasd yasd.debug_mode=remote yasd.remote_host=127.0.0.1 yasd.remote_port=9000 ``` 不设置`yasd.debug_mode`选项的话,默认就是 cmd 模式调试 ```ini zend_extension=yasd yasd.debug_mode=cmd ``` 你可以自由的切换两种调试模式,快去试试吧 不要忘记给 [yasd](https://github.com/swoole/yasd) 一个 Star 哦
赞
1
分享
收藏
提问
分享
讨论
建议
公告
开发框架
评论
2021-11-01
1
16601******
请问下,我刚接触yasd调试工具,当我在开启cmd调试模式时,发现我的php-fpm的项目完全打不开了,查看日志都是超时很慢(基本已经算是无法打开)。但我开启ide调试模式的时候是可以使用php-fpm的项目的。请问这个问题是故意如此操作的吗?还是我的配置有问题。一下是我的yasd相关配置: ``` php --ri yasd yasd Yasd => enabled Author => codinghuang <codinghuang@qq.com> Version => 0.3.9-alpha Built => Oct 27 2021 05:27:40 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 ``` 下面是php的版本 ``` $ php -v PHP 7.4.21 (cli) (built: Oct 23 2021 01:05:26) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Yasd v0.3.9-alpha, Our Copyright, by codinghuang ``` php慢日志 ``` [01-Nov-2021 14:48:05] WARNING: [pool www] child 5487, script '/home/wwwroot/gitdemo1/index.php' (request: "GET /index.php") executing too slow (5.429839 sec), logging [01-Nov-2021 14:48:05] NOTICE: child 5487 stopped for tracing [01-Nov-2021 14:48:05] NOTICE: about to trace 5487 [01-Nov-2021 14:48:05] NOTICE: finished trace of 5487 ``` nginx日志``` "status": "499", "request_time": "75.136", "upstream_response_time": "75.136", ```
赞
0
回复
微信公众号
热门内容
- 关于不同进程共用链接的疑问
- 关于sendfile发送文件的一些疑问,还请知道的大佬赐教
- 请问哪位大佬知道我这是什么原因?
- tcp连接4次挥手的疑问
- 开启enableCoroutine发送https请求会报错abnormal exit, status=0, signal=10
作者其它话题
- thinkphp5.1在使用think-swoole的时候报错unsupported option [host]
- WSL 下服务器响应数据过大无法接收
暂无回复的问答
- 关于openssl CURL WARNING swSSL_connect: SSL_connect(fd=69) failed. Error: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small[1|394]
- 请问那个一键协程化的代码是放外面还是set里面
- 多个模型如何进行事务异常回退?
- websocket开启wss报错
- 协程tcp服务器如何使用多进程?recv()方法接收信息,打印出来的pid一直是同一个。没用使用到多进程啊。