この記事では、非常に使いやすい phpstorm デバッグ ツールについて説明します。通常、開発中に、誰かが xdebug 拡張機能をインストールし、デバッグ用に phpstorm で xdebug を構成することを選択することがあります。これが皆さんのお役に立てば幸いです。
通常の開発では、常にデバッグが必要になることがあります。var_dump や die などの手動中断方法は常に時間と労力がかかり、洗練されたものではありません。現時点では、xdebug 拡張機能をインストールし、デバッグ用に phpstorm で xdebug を構成することを選択する人もいるかもしれません。
しかし、swoole フレームワークを使用する必要があり、swoole フレームワーク内のコードをデバッグする必要がある場合、xdebug は swoole では使用できず、swoole と競合します。
その後、fpm フレームワークと swoole フレームワークと互換性のある、比較的使いやすいデバッグ ツール yasd を見つけました。
##インストール
#1. Mac にブート ライブラリをインストールしますbrew install boost
2. Github から yasd ソース コードをダウンロードします git clone https://github.com/swoole/yasd.git
3. yasdcd 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
yasd を使用してスクリプトをデバッグするには- e php パラメーターを追加する必要があります (例:
# 调试普通php脚本 php -e test.php # 调试 laravel 的 command php -e artisan test # 调试 hyperf 框架 php -e bin/hyperf start
1. ポートをリッスンするように phpstorm を構成します) 9000
2. phpstorm の右上隅にある電話アイコンをクリックして監視を開始します
3. テスト デバッグのデバッグ
Laravel でテスト コマンドを作成します
php -e artisan test
ここでは成功しました
Hyperf フレームワークのデバッグfpm でのデバッグについては前述しましたが、次に Hyperf フレームワークでのデバッグ方法について説明します
注意点
1. Hyperf を使用する場合、config.php の scan_cacheable パラメータを true に設定する必要があります。このパラメータは、プロキシ クラスをスキャンするかどうかです。true に設定すると、キャッシュ プロキシ クラスはプロキシ クラスを生成しています。
これを true に設定した後は、コードを変更するたびに、プロキシ クラス、composer dump-autoload -o を手動で生成し、開始する必要があることに注意してください。
または、プロキシ クラスのコードを直接変更します。デバッグが完了したら、プロキシ クラスのコードを実際のクラスにコピーします。
プロキシ クラスの生成パスは runtime/container/proxy
2 にあります。Swoole Server が Hyperf フレームワークで使用されている場合、worker_num を 1 に設定する必要があります。そうしないと、ブレークポイントが取得されない可能性があります。効果。このパラメータはserver.phpにあります。
残りのデバッグは、上で説明したものと変わりません。
推奨学習:「
phpstorm チュートリアル以上がphpstorm デバッグ ツール yasd の詳細な紹介 (非常に使いやすい)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。