Jadual Kandungan
Kaedah penyahpepijatan yang biasa digunakan dalam PHP
设置、查看和释放环境变量
Rumah pembangunan bahagian belakang masalah PHP Apakah kaedah penyahpepijatan dalam PHP?

Apakah kaedah penyahpepijatan dalam PHP?

Feb 21, 2022 pm 02:10 PM
php nyahpepijat

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.

Apakah kaedah penyahpepijatan dalam PHP?

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 globalsymfony/var-dumper:
    akan dipasang pada direktori ${HOME}/.config/composer secara lalai
composer global require symfony/var-dumper
Salin selepas log masuk
  • Ubah suai php.ini fail dan laksanakan PHP Sebelum kod, masukkan fail yang ditentukan
auto_prepend_file = ${HOME}/.config/composer/vendor/autoload.php
Salin selepas log masuk

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 Xdebug php.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.

Apakah kaedah penyahpepijatan dalam PHP?

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
Salin selepas log masuk

设置、查看和释放环境变量

  • Linux
export XDEBUG_CONFIG="idekey=session_name" // 设置环境变量
echo $XDEBUG_CONFIG // 查看环境变量
unset XDEBUG_CONFIG // 删除环境变量
Salin selepas log masuk
  • Windows
set XDEBUG_CONFIG="idekey=session_name" // 设置环境变量
echo %XDEBUG_CONFIG% // 查看环境变量
set XDEBUG_CONFIG // 查看环境变量
set XDEBUG_CONFIG= // 删除环境变量
Salin selepas log masuk

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci Apakah kaedah penyahpepijatan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

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

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

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

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

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

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

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,

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

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

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

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

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

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 Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

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.

See all articles