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.
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
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
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
Débogage du framework Hyperf
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.
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/proxy2 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!