Artikel ini membawakan anda alat nyahpepijat phpstorm yang sangat mudah digunakan Biasanya semasa pembangunan, seseorang mungkin memilih untuk memasang sambungan xdebug dan mengkonfigurasi xdebug dalam phpstorm untuk penyahpepijatan.
Biasanya dalam pembangunan, akan sentiasa ada masa apabila penyahpepijatan diperlukan secara manual mengganggu var_dump, die, dsb. sentiasa memakan masa, intensif buruh dan tidak elegan. Pada masa ini Sesetengah orang boleh memilih untuk memasang sambungan xdebug dan mengkonfigurasi xdebug dalam phpstorm untuk nyahpepijat.
Tetapi apabila anda perlu menggunakan rangka kerja swoole dan perlu menyahpepijat kod dalam rangka kerja swoole, xdebug tidak boleh digunakan pada swoole dan ia bercanggah dengan swoole.
Kemudian saya menemui alat penyahpepijatan yang agak mudah digunakan yang serasi dengan rangka kerja fpm dan rangka kerja swoole, yasd.
Pasang
1 Pasang pustaka but pada Mac
brew install boost
2 Github
git clone https://github.com/swoole/yasd.git
3 Susun dan pasang yasd
cd yasd phpize --clean && \ phpize && \ ./configure && \ make clean && \ make && \ make install
4. . Ubah suai 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
Lihat maklumat lanjutan
➜ 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
5 >Untuk menggunakan yasd untuk nyahpepijat skrip, anda mesti menambah parameter -e php, contohnya:
# 调试普通php脚本 php -e test.php # 调试 laravel 的 command php -e artisan test # 调试 hyperf 框架 php -e bin/hyperf start
1 . Konfigurasikan phpstorm untuk mendengar pada port 9000
2. Klik ikon telefon di sudut kanan atas phpstorm untuk memulakan pemantauan
3 Ujian nyahpepijat
Tulis arahan ujian dalam Laravel
php -e artisan test
Ia telah berjaya di sini
Menyahpepijat rangka kerja HyperfPenyahpepijatan yang dinyatakan di atas dalam fpm Seterusnya , mari kita bincangkan tentang cara menyahpepijat dalam rangka kerja Hyperf
Beberapa perkara yang perlu diperhatikan1 Apabila menggunakan Hyperf, anda perlu menetapkan parameter scan_cacheable dalam config.php kepada benar adalah sama ada untuk mengimbas kelas proksi Jika ditetapkan kepada benar, maka Setiap permulaan akan terus mengimbas kelas proksi cache dan bukannya mengimbas semula kelas proksi yang dijana. Selepas menetapkannya kepada benar, sila ambil perhatian bahawa setiap kali anda mengubah suai kod, anda perlu menjana kelas proksi secara manual, composer dump-autoload -o, dan kemudian memulakannya. Atau ubah suai kod terus dalam kelas proksi Apabila penyahpepijatan selesai, salin kod dalam kelas proksi ke kelas sebenar. Laluan penjanaan kelas proksi berada dalam masa jalan/bekas/proksi2 Jika Pelayan Swoole digunakan dalam rangka kerja Hyperf, worker_num perlu ditetapkan kepada 1, jika tidak, titik putus mungkin tidak mengambil masa. kesan. Parameter ini berada dalam server.php. Penyahpepijatan selebihnya tidak berbeza daripada apa yang dinyatakan di atas. Pembelajaran yang disyorkan: "tutorial phpstorm
"Atas ialah kandungan terperinci Pengenalan terperinci kepada alat nyahpepijat phpstorm yasd (sangat mudah digunakan). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!