Dieser Artikel stellt Ihnen das super einfach zu verwendende phpstorm-Debug-Tool vor. Normalerweise entscheidet sich jemand während der Entwicklung dafür, die xdebug-Erweiterung zu installieren und xdebug in phpstorm zum Debuggen zu konfigurieren.
Normalerweise gibt es in der Entwicklung immer Zeiten, in denen manuelle Unterbrechungspunkte wie var_dump und die immer zeitaufwändig und arbeitsintensiv sind und sich zu diesem Zeitpunkt möglicherweise für die Installation von xdebug entscheiden Erweiterung. Konfigurieren Sie in phpstorm xdebug zum Debuggen.
Aber wenn Sie das Swoole-Framework verwenden und den Code im Swoole-Framework debuggen müssen, kann xdebug nicht für Swoole verwendet werden und es kommt zu Konflikten mit Swoole.
Dann habe ich ein relativ einfach zu verwendendes Debugging-Tool gefunden, das mit dem FPM-Framework und dem Swoole-Framework kompatibel ist: yasd yasd installieren
brew install boost
git clone https://github.com/swoole/yasd.git
cd yasd
phpize --clean && \
phpize && \
./configure && \
make clean && \
make && \
make install
5 Debuggen Sie das Skript. Sie müssen Folgendes hinzufügen: Ein PHP-Parameter, zum Beispiel so: zend_extension="yasd.so"
;命令行调试
;yasd.debug_mode=cmd
;远程调试
yasd.debug_mode=remote
;本地开发地址
yasd.remote_host=127.0.0.1
;本地开发监听端口
yasd.remote_port=9000
1. Konfigurieren Sie phpstorm so, dass es Port 9000 überwacht
2 . Klicken Sie auf das Telefonsymbol in der oberen rechten Ecke von phpstorm Beginnen Sie mit der Überwachung
3. Testen Sie das Debuggen
Schreiben Sie einen Testbefehl in Laravel
➜ 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
Sie haben hier Erfolg gehabt
Debuggen des Hyperf-Frameworks
Die oben erwähntes Debuggen in FPM. Lassen Sie uns als Nächstes über das Debuggen im Hyperf-Framework sprechen. Einige Punkte sind zu beachten: 1 Um es in Hyperf zu verwenden, müssen Sie den Parameter scan_cacheable in config.php auf true setzen. Dieser Parameter gibt an, ob Proxy-Klassen gescannt werden sollen . Wenn auf „true“ gesetzt, wird die Cache-Proxy-Klasse bei jedem Start direkt gescannt, anstatt erneut zu scannen und Proxy-Klassen zu generieren.
Nachdem Sie es auf true gesetzt haben, beachten Sie bitte, dass Sie jedes Mal, wenn Sie den Code ändern, die Proxy-Klasse Composer dump-autoload -o manuell generieren und dann starten müssen. Oder ändern Sie den Code direkt in der Proxy-Klasse. Wenn das Debuggen abgeschlossen ist, kopieren Sie den Code in der Proxy-Klasse in die echte Klasse.
Der Proxy-Klassen-Generierungspfad befindet sich in runtime/container/proxy
2 Wenn Swoole Server im Hyperf-Framework verwendet wird, muss worker_num auf 1 gesetzt werden, sonst wird der Haltepunkt möglicherweise nicht wirksam. Dieser Parameter befindet sich in server.php.Das verbleibende Debugging unterscheidet sich nicht von dem, was oben erwähnt wurde.
Empfohlenes Lernen: „phpstorm-Tutorial
“Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in das PHPstorm-Debug-Tool Yasd (super einfach zu bedienen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!