Maison > outils de développement > phpstorm > Introduction détaillée à l'outil de débogage phpstorm yasd (super facile à utiliser)

Introduction détaillée à l'outil de débogage phpstorm yasd (super facile à utiliser)

WBOY
Libérer: 2022-01-17 15:33:15
avant
5611 Les gens l'ont consulté

Cet article vous présente l'outil de débogage phpstorm très facile à utiliser. Habituellement, pendant le développement, quelqu'un peut choisir d'installer l'extension xdebug et de configurer xdebug dans phpstorm pour le débogage.

Introduction détaillée à l'outil de débogage phpstorm yasd (super facile à utiliser)

Habituellement, dans le développement, il y a toujours des moments où le débogage est nécessaire. Les méthodes d'interruption manuelle telles que var_dump et die prennent toujours du temps, demandent beaucoup de travail et ne sont pas élégantes à ce stade, quelqu'un peut choisir d'installer xdebug. extension. Dans phpstorm, configurez xdebug pour déboguer.

Mais lorsque vous devez utiliser le framework swoole et déboguer le code dans le framework swoole, xdebug ne peut pas être utilisé sur swoole et il entre en conflit avec swoole.

Ensuite, j'ai trouvé un outil de débogage relativement simple à utiliser et compatible avec le framework fpm et le framework swoole, yasd

2 Téléchargez le code source de yasd depuis Github

brew install boost
Copier après la connexion

3. installez yasd

git clone https://github.com/swoole/yasd.git
Copier après la connexion

4. Modifiez php.ini

cd yasd
phpize --clean && \
phpize && \
./configure && \
make clean && \
make && \
make install
Copier après la connexion

Affichez les informations étendues

zend_extension="yasd.so"
;命令行调试
;yasd.debug_mode=cmd
;远程调试
yasd.debug_mode=remote
;本地开发地址
yasd.remote_host=127.0.0.1
;本地开发监听端口
yasd.remote_port=9000
Copier après la connexion
5 . e paramètre php, par exemple :
➜  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
Copier après la connexion

Configure phpstorm

1 Configurez phpstorm pour écouter sur le port 9000

2 Cliquez sur l'icône du téléphone dans le coin supérieur droit de phpstorm pour démarrer. surveillance

3. Test de débogage

Écrivez une commande de test dans Laravel

# 调试普通php脚本
php -e test.php
# 调试 laravel 的 command
php -e artisan test
# 调试 hyperf 框架
php -e bin/hyperf start
Copier après la connexion

Introduction détaillée à loutil de débogage phpstorm yasd (super facile à utiliser)

Vous avez réussi ici

Débogage du framework Hyperf

Introduction détaillée à loutil de débogage phpstorm yasd (super facile à utiliser)

Le débogage mentionné ci-dessus dans fpm Suivant. , parlons de la façon de déboguer dans le framework HyperfQuelques points à noter

1 Pour l'utiliser dans Hyperf, vous devez définir le paramètre scan_cacheable dans config.php sur true, ce paramètre indique s'il faut analyser les classes proxy. Si la valeur est true, la classe proxy de cache sera analysée directement à chaque démarrage, au lieu de réanalyser et de générer des classes proxy.

Après l'avoir défini sur true, veuillez noter que chaque fois que vous modifiez le code, vous devez générer manuellement la classe proxy, composer dump-autoload -o, puis la démarrer. Introduction détaillée à loutil de débogage phpstorm yasd (super facile à utiliser)

Ou modifiez le code directement dans la classe proxy. Une fois le débogage terminé, copiez le code de la classe proxy dans la classe réelle.

Le chemin de génération de la classe proxy est dans runtime/container/proxy

2 Si Swoole Server est utilisé dans le framework Hyperf, worker_num doit être défini sur 1, sinon le point d'arrêt risque de ne pas prendre effet. Ce paramètre est dans server.php. Le débogage restant n'est pas différent de ce qui a été mentionné ci-dessus.

Apprentissage recommandé : "

Tutoriel phpstorm

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal