Apakah kaedah penyahpepijatan dalam PHP?
Kaedah nyahpepijat dalam PHP ialah: 1. Tambah echo, var_dump, print_r dan pernyataan keluar dalam kod PHP, dan cetak maklumat melalui penyemak imbas untuk nyahpepijat 2. Gunakan Xdebug untuk penyahpepijatan; untuk nyahpepijat.
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
Kaedah penyahpepijatan yang biasa digunakan dalam PHP
Nyahpepijat dengan mencetak maklumat daripada penyemak imbas
Kaedah
Tambah gema, var_dump, print_r dan keluar , lihat output dalam penyemak imbas.
Kebaikan dan Kelemahan
Kelebihan:
- Mudah, mudah digunakan, tidak perlu memasang pemalam
- Untuk kod yang anda tulis atau rangka kerja yang lebih biasa, anda boleh menggunakannya seperti ini
Kelemahan:
- Untuk logik berbilang cawangan, anda perlu menambah banyak kod atau cuba beberapa kali
- Untuk Logik yang tidak dikenali tidak dapat menggambarkan proses pelaksanaan yang lengkap.
- Adalah mungkin untuk meninggalkan penyataan penyahpepijatan dalam projek
- Tidak dapat satu langkah
Helah
Apabila penyahpepijatan, Untuk memformat pembolehubah output, anda selalunya perlu melaksanakan fungsi dump()
anda sendiri dalam projek. Dengan Komposer, fungsi symfony/var-dumper
dalam pakej dump()
boleh dipasang secara global, menjadikannya tersedia untuk semua projek tanpa mengubah suai projek. Pakej
- Pemasangan global
symfony/var-dumper
:
akan dipasang pada direktori${HOME}/.config/composer
secara lalai
composer global require symfony/var-dumper
- Ubah suai
php.ini
fail dan laksanakan PHP Sebelum kod, masukkan fail yang ditentukan
auto_prepend_file = ${HOME}/.config/composer/vendor/autoload.php
Gunakan Xdebug untuk nyahpepijat
XDebug ialah C /S struktur, di mana Pelanggan Ia adalah Xdebug dipasang dalam PHP, Pelayan ialah pemalam yang dipasang dalam IDE, dan menggunakan protokol DBGP untuk berkomunikasi. Apabila PHP menjalankan skrip, ia menghantar maklumat penyahpepijatan kepada IDE melalui pemalam Xdebug dan menerima isyarat kawalan daripada IDE.
Anda perlu memasang dan mendayakan Xdebug untuk PHP, dan kemudian sediakan pemalam Xdebug IDE supaya kedua-duanya boleh berkomunikasi.
Kebaikan dan Kelemahan
- Menyokong penyahpepijatan satu langkah dan pemerolehan nilai pembolehubah arbitrari
- Konfigurasi kompleks, memerlukan IDE untuk memasang palam- ins
- Sokongan kerjasama dengan penyemak imbas, permintaan itu perlu membawa
XDEBUG_SESSION_START
parameter
Penyahpepijatan Apl Web
Untuk aplikasi web, Xdebug mod penyahpepijatan mesti dihidupkan , bendera tambahan mesti ditambahkan pada permintaan yang dihantar oleh penyemak imbas. Anda boleh menambah XDEBUG_SESSION_START=session_name
dalam parameter GET/POST/Cookie, supaya Xdebug faham bahawa permintaan ini perlu dinyahpepijat dan disambungkan ke IDE.
Tetapi tetapan manual setiap kali juga menyusahkan Terdapat dua cara untuk memudahkan operasi:
- Gunakan kaedah yang disediakan oleh IDE. Untuk PhpStorm, lihat Menyahpepijat Aplikasi Web PHP dengan Konfigurasi Nyahpepijat Jalankan. Apabila menggunakannya, anda perlu mengkonfigurasi Pelayan Web dalam IDE, kemudian menyediakan Aplikasi Web PHP, klik butang Nyahpepijat untuk memulakan penyahpepijatan, kemudian IDE akan secara automatik membuka pelayar dan memasukkan URL, dan menambah
XDEBUG_SESSION_START=session_name
. - Gunakan pemalam penyemak imbas dan hidupkan suis penyahpepijatan pemalam itu boleh membawa kuki yang sepadan secara automatik dalam permintaan. Untuk Chrome anda boleh memasang pembantu Xdebug.
Nyahpepijat melalui terminal konsol (mod CLI)
Untuk aplikasi bukan web, seperti tugas yang dijadualkan atau ujian unit, anda boleh terus Debug dalam konsol.
Gunakan kekunci pintasan Alt F12
untuk membuka terminal baris arahan dalam PhpStorm. Walau bagaimanapun, kerana hanya satu terminal boleh dipaparkan dalam IDE, terminal penyahpepijatan selepas penyahpepijatan dihidupkan akan meliputi terminal baris arahan, jadi adalah lebih baik untuk membuka terminal baris arahan berasingan (anda boleh menggunakan tetingkap DOS atau PowerShell di bawah Windows ).
Kaedah dan prinsip
Permintaan nyahpepijat aplikasi web melalui bendera parameter GET/POST/Cookie, manakala aplikasi bukan web mendayakan penyahpepijatan dengan menetapkan pembolehubah persekitaran dalam terminal baris arahan .
Dua langkah:
- Tetapkan pembolehubah persekitaran
XDEBUG_CONFIG="idekey=session_name"
kekunci ide ini perlu sama dengan set kunci ide dalam bahagian Xdebugphp.ini
. - Laksanakan skrip dalam terminal baris arahan. Apabila dilaksanakan, terminal nyahpepijat IDE akan dibangkitkan, membenarkan penyahpepijatan satu langkah, dan hasil output akan dipaparkan dalam terminal baris arahan dalam masa nyata.
IDE biasanya menyediakan operasi pintasan Untuk PHPStorm, anda boleh merujuk kepada Menyahpepijat skrip PHP CLI dengan PhpStorm.
Selepas penyahpepijatan dimulakan melalui IDE, IDE akan memulakan pemalam Xdebug untuk mendengar port tertentu (PhpStorm lalai kepada 9000, tetapi ini bercanggah dengan PHP-FPM dan boleh ditukar kepada 9001) kepada dapatkan maklumat penyahpepijatan yang dikembalikan oleh pelayan PHP.
D:\lnmp\php72\php.exe -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9001 -dxdebug.remote_host=127.0.0.1 D:\lihongfeng\workspace\untitled\index.php
设置、查看和释放环境变量
- Linux
export XDEBUG_CONFIG="idekey=session_name" // 设置环境变量 echo $XDEBUG_CONFIG // 查看环境变量 unset XDEBUG_CONFIG // 删除环境变量
- Windows
set XDEBUG_CONFIG="idekey=session_name" // 设置环境变量 echo %XDEBUG_CONFIG% // 查看环境变量 set XDEBUG_CONFIG // 查看环境变量 set XDEBUG_CONFIG= // 删除环境变量
推荐学习:《PHP视频教程》
Atas ialah kandungan terperinci Apakah kaedah penyahpepijatan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.
