詳細介紹phpstorm debug工具之yasd(超好用)

本篇文章給大家?guī)砹顺糜玫?a >phpstorm debug工具,平常在開發(fā)中,可能會有人選擇安裝xdebug擴展,在phpstorm中配置xdebug來調(diào)試,希望對大家有幫助。

詳細介紹phpstorm debug工具之yasd(超好用)

平常在開發(fā)中,總會有一些需要 debug 的時候,手動打斷點 var_dump、die 等方式總是耗時耗力還不優(yōu)雅,這時候可能會有人選擇安裝 xdebug 擴展,在 phpstorm 中配置 xdebug 來調(diào)試。

但當(dāng)你需要用到 swoole 框架時,并需要調(diào)試 swoole 框架中代碼時,xdebug 是不能用在 swoole 上的,是和 swoole 有沖突的。

然后我發(fā)現(xiàn)了一款比較好用的,可以兼容 fpm 框架,和 swoole 框架的 debug 調(diào)試工具,yasd.

立即學(xué)習(xí)PHP免費學(xué)習(xí)筆記(深入)”;

安裝

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" ;命令行調(diào)試 ;yasd.debug_mode=cmd ;遠程調(diào)試 yasd.debug_mode=remote ;本地開發(fā)地址 yasd.remote_host=127.0.0.1 ;本地開發(fā)監(jiān)聽端口 yasd.remote_port=9000

查看擴展信息

???yasd?php?--ri?yasd yasd Yasd?=&gt;?enabled Author?=&gt;?codinghuang?<codinghuang> Version?=&gt;?0.3.9-alpha Built?=&gt;?Jan?15?2022?14:09:47 Directive?=&gt;?Local?Value?=&gt;?Master?Value yasd.breakpoints_file?=&gt;?no?value?=&gt;?no?value yasd.debug_mode?=&gt;?remote?=&gt;?remote yasd.remote_host?=&gt;?127.0.0.1?=&gt;?127.0.0.1 yasd.remote_port?=&gt;?9000?=&gt;?9000 yasd.depth?=&gt;?1?=&gt;?1 yasd.log_level?=&gt;?-1?=&gt;?-1 yasd.max_executed_opline_num?=&gt;?0?=&gt;?0 yasd.init_file?=&gt;?no?value?=&gt;?no?value yasd.open_extended_info?=&gt;?0?=&gt;?0 xdebug.coverage_enable?=&gt;?1?=&gt;?1 xdebug.profiler_enable?=&gt;?1?=&gt;?1 xdebug.remote_autostart?=&gt;?1?=&gt;?1 xdebug.remote_connect_back?=&gt;?0?=&gt;?0 xdebug.remote_mode?=&gt;?req?=&gt;?req xdebug.idekey?=&gt;?hantaohuang?=&gt;?hantaohuang</codinghuang>

5. 調(diào)試腳本

使用 yasd 調(diào)試腳本,必須要添加 -e 的 php 參數(shù),例如這樣

#?調(diào)試普通php腳本 php?-e?test.php #?調(diào)試?laravel?的?command php?-e?artisan?test #?調(diào)試?hyperf?框架 php?-e?bin/hyperf?start

配置 phpstorm

1. 配置 phpstorm 監(jiān)聽 9000 端口

詳細介紹phpstorm debug工具之yasd(超好用)

2. 點擊 phpstorm 右上角的電話圖標(biāo)啟動監(jiān)聽

詳細介紹phpstorm debug工具之yasd(超好用)

3. 測試 debug 調(diào)試

在 Laravel 中隨便寫一個 test command

php?-e?artisan?test

詳細介紹phpstorm debug工具之yasd(超好用)

到這里就已經(jīng)成功了

調(diào)試 Hyperf 框架

上面說了在 fpm 中調(diào)試,接下來說一下在 Hyperf 框架中如何調(diào)試

需要注意的幾點

1、在 Hyperf 中使用需要將 config.php 中的 scan_cacheable 參數(shù)設(shè)置為 true,該參數(shù)為是否掃描代理類,若設(shè)置為 true,則每次啟動都會直接掃描緩存代理類,而不是重新掃描在生成代理類。

設(shè)置為 true 后需要注意,每次修改代碼需要手動生成代理類,composer dump-autoload -o,然后在啟動。

或者直接在代理類中修改代碼,當(dāng) debug 結(jié)束后,再將代理類中的代碼復(fù)制到真實類中。

代理類生成路徑在 runtime/container/proxy

2、在 Hyperf 框架中如果使用到了 Swoole Server,需要將 worker_num 設(shè)置為 1 否則斷點可能不會生效。該參數(shù)在 server.php 中。

剩下的調(diào)試就和上面講的沒什么區(qū)別了。

推薦學(xué)習(xí):《phpstorm教程

以上就是詳細介紹

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊7 分享