Maison  >  Article  >  outils de développement  >  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
WBOYavant
2022-01-17 15:33:155576parcourir

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

3. installez yasd

git clone https://github.com/swoole/yasd.git

4. Modifiez php.ini

cd yasd
phpize --clean && \
phpize && \
./configure && \
make clean && \
make && \
make install

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
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

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

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer