cari
Rumahpembangunan bahagian belakangtutorial phpDebugging dengan teks xdebug dan luhur 3

Debugging dengan teks xdebug dan luhur 3

Debugging - Kita semua melakukannya banyak. Kod menulis dengan sempurna pada kali pertama adalah sukar dan hanya beberapa (jika ada) berjaya melakukannya. Lebih dari setahun yang lalu, Shameer menulis artikel mengenai SitePoint tentang bagaimana anda boleh debug permohonan anda menggunakan Xdebug dan NetBeans. Dalam artikel ini, kita akan melihat bagaimana kita boleh debug menggunakan xdebug dalam kombinasi dengan teks luhur.

Takeaways Key

    Untuk debug dengan teks XDebug dan Sublime 3, sambungan PHP XDEBUG perlu dipasang dan Teks Sublime 3 harus dikonfigurasi dengan pakej XDEBUG yang dipasang melalui Kawalan Pakej.
  • xdebug mesti dikonfigurasikan dalam fail php.ini atau dalam fail xdebug.ini dengan tetapan tertentu, dan kemudian webserver harus dimulakan semula.
  • Untuk teks luhur 3, projek mesti ditubuhkan, dan URL aplikasi web harus ditambah ke tetapan fail projek. Ini membolehkan penyahpepijatan pada pelbagai projek tanpa perlu menukar konfigurasi xdebug setiap kali.
  • Sesi Xdebug boleh dimulakan, dan titik putus boleh ditetapkan di mana permohonan akan dihentikan. Dari sana, pembolehubah boleh diperiksa, dan permohonan itu boleh dijalankan sehingga titik putus seterusnya atau sehingga akhir menggunakan pelbagai arahan seperti "Run", "Step Into", "Step Over", dan "Step Out".
  • Bermula

Pertama sekali, kita perlu memasang pelanjutan PHP XDEBUG. Sekiranya anda tidak pasti bagaimana untuk menyelesaikannya, sila lihat pautan yang disediakan dalam pengenalan. Pastikan Xdebug bekerja dengan menyemak sama ada ia disenaraikan dalam phpinfo anda ().

Sudah tentu kita juga memerlukan teks luhur. Saya akan menggunakan versi terkini: Teks Sublime 3. Ia juga harus berfungsi dengan Teks Sublime 2.


Menyediakan XDEBUG

kita perlu mengkonfigurasi Xdebug dengan menambahkan yang berikut ke fail php.ini anda, atau lebih baik, ke fail xdebug.ini seperti yang diterangkan di sini di bawah cara di linux.

Secara umum anda akan menggunakan 127.0.0.1 sebagai tuan rumah anda. Walau bagaimanapun, jika anda menggunakan vagrant sebagai contoh, anda akan menggunakan sesuatu seperti 10.0.2.2, bergantung kepada mana XDebug dapat mencari sistem anda.
<span>xdebug.remote_enable=1
</span><span>xdebug.remote_handler=dbgp
</span><span>xdebug.remote_host=127.0.0.1
</span><span>xdebug.remote_port=9000
</span><span>xdebug.remote_log="/var/log/xdebug/xdebug.log"</span>

Log jauh tidak diperlukan, tetapi dalam hal masalah, itu adalah tempat di mana anda dapat mencari maklumat tentang kesilapan yang terjadi.

Jangan lupa untuk memulakan semula webserver anda!

menyediakan teks luhur 3

Salah satu kekuatan Sublime adalah hakikat bahawa anda boleh melanjutkannya dengan mudah dengan pakej. Dalam kes ini, kami akan memasang pakej XDebug. Jika anda belum melakukannya, pastikan anda boleh memasang pakej dengan memasang kawalan pakej.

Sebaik sahaja anda mempunyai kawalan pakej yang dipasang, anda harus memulakan Teks Sublime 3. Buka palet perintah dari menu Alat dan cari "Pemasangan Pakej".


Sekarang anda boleh mencari pakej yang anda suka. Dalam kes kami, kami akan mencari pakej "Xdebug Client".
Debugging dengan teks xdebug dan luhur 3

Bit terakhir yang perlu kita lakukan ialah menubuhkan projek dalam luhur. Cara paling mudah untuk melakukan ini ialah membuka direktori akar permohonan anda, pergi ke projek dan klik pada "Simpan Projek AS". Saya cadangkan anda menyimpan fail dalam akar aplikasi anda, jadi anda boleh menyimpannya dalam sistem kawalan versi anda jika anda menggunakan mana -mana dan anda boleh mengkonfigurasinya dengan mudah pada setiap masa.

Buka fail projek yang baru dibuat. Kandungannya akan kelihatan seperti ini:

<span>xdebug.remote_enable=1
</span><span>xdebug.remote_handler=dbgp
</span><span>xdebug.remote_host=127.0.0.1
</span><span>xdebug.remote_port=9000
</span><span>xdebug.remote_log="/var/log/xdebug/xdebug.log"</span>

kami akan menambah beberapa baris lagi:

<span>{
</span><span>    "folders":
</span><span>    [
</span><span>        {
</span><span>           "follow_symlinks": true,
</span><span>           "path": "."
</span><span>        }
</span><span>    ]
</span><span>}</span>

Seperti yang anda lihat, saya hanya menambah URL ke aplikasi web sebenar saya. Saya boleh menetapkan lebih banyak tetapan untuk Xdebug, bagaimanapun, ini sudah cukup untuk bermula dengan. Saya juga boleh menetapkan URL ini dalam tetapan XDebug itu sendiri, tetapi dalam hal ini, saya tidak dapat bekerja pada pelbagai projek tanpa perlu menukar konfigurasi XDEBUG setiap kali.

Mulakan sesi xdebug

kita kini boleh memulakan sesi Xdebug untuk melihat sama ada semuanya disediakan dengan betul. Dalam menu, klik pada Alat -> Xdebug dan klik pada Mula Debugging (Pelancaran Pelayar). Anda akan melihat bahawa laman web anda dibuka dan itu? XDEBUG_SESSION_START = Sublime.xdebug ditambah ke akhir URL. Ini akan memulakan sesi XDEBUG. Dalam Sublime, beberapa panel tambahan muncul di mana maklumat debug akan ditunjukkan, setelah anda menetapkan satu atau lebih titik putus.

breakpoints

mari kita berikan titik putus pertama. Titik putus pada dasarnya adalah bendera di mana permohonan anda akan berhenti apabila ia mencapai. Pada masa ini ia berhenti, anda boleh memeriksa semua nilai pembolehubah sehingga anda tahu sebenarnya apa yang sedang berlaku.

Kami boleh menambah titik putus dengan mengklik dengan tetikus kanan kami pada baris, pergi ke Xdebug dan kemudian mengklik Tambah/Buang Breakpoint. Penanda akan ditambah ke longkang garis untuk menunjukkan bahawa titik putus telah ditetapkan.

Debugging dengan teks xdebug dan luhur 3

Kami membuka penyemak imbas kami sekali lagi dan teruskan dengan sesi yang baru saja kami mulakan. Anda akan melihat bahawa sebaik sahaja anda pergi ke halaman di mana titik putus, halaman akan berhenti memuatkan. Sekiranya anda kini membuka luhur, anda akan melihat banyak maklumat yang ditunjukkan dalam panel xdebug.

Stack Xdebug dan konteks Xdebug sangat menarik. Dalam timbunan, anda dapat melihat keseluruhan stacktrace panggilan anda melalui.

Dalam konteks, anda akan melihat semua pembolehubah global, tetapi juga pembolehubah yang anda tentukan sendiri. Anda boleh mengklik pada pembolehubah ini untuk melihat dengan tepat pembolehubah ini memegang. Sebagai contoh, dalam tangkapan skrin di bawah, saya mengklik pada pembolehubah $ _server.

Debugging dengan teks xdebug dan luhur 3 Perhatikan bahawa anak panah kuning menunjuk pada baris aplikasi yang kini dihentikan.

jadi aplikasi kami dihentikan dan sekarang kita dapat melihat melalui pembolehubah yang ditakrifkan. Walau bagaimanapun, kami sudah selesai dan kami mahu bergerak. Apa sekarang? Apabila anda betul tetikus klik sekali lagi dan berlegar di menu Xdebug, anda akan mempunyai beberapa pilihan:

  • run yang akan menjalankan aplikasi sehingga titik putus seterusnya atau sehingga berakhir.
  • Run to line yang akan berjalan sehingga garis yang anda klik.
  • Langkah ke dalam akan melangkah ke fungsi semasa dan berhenti selepas.
  • Langkah ke atas akan melangkah ke atas fungsi semasa dan berhenti selepas.
  • Langkah keluar akan keluar dari fungsi semasa dan berhenti selepas.
  • berhenti akan berhenti debugging.
  • Detas juga akan berhenti debugging.

Run and Stop cukup mudah difahami. Kaedah langkah boleh menjadi sedikit mengelirukan. Mari kita menyelam dengan contoh mudah. ​​

<span>xdebug.remote_enable=1
</span><span>xdebug.remote_handler=dbgp
</span><span>xdebug.remote_host=127.0.0.1
</span><span>xdebug.remote_port=9000
</span><span>xdebug.remote_log="/var/log/xdebug/xdebug.log"</span>

Bayangkan anda menambah titik putus pada baris pertama bar kaedah. Jadi pada baris dengan komen Breakpoint (// breakpoint).

dengan langkah ke dalam, debugger akan melangkah ke kaedah Foobar dan akan berhenti di sana pada baris pertama. Jadi dalam kes ini, debugger akan berhenti pada array_values ​​kembali ($ arr); garis.

Langkah ke atas akan memanggil kaedah, tetapi tidak akan berhenti. Ia akan berhenti di baris seterusnya yang tersedia selepas memanggil kaedah. Jadi dalam kes ini, ia akan berhenti pada pulangan $ arr;

Akhir sekali, dengan langkah keluar ia akan berjalan melalui kaedah bar keseluruhan dan kembali ke pemanggil. Dalam kes ini, ia akan keluar dari objek, kembali kepada pemanggil asal.

Jika anda hanya membuat keputusan untuk berlari, aplikasi akan berjalan lebih jauh sehingga saat ia selesai melaksanakan atau titik putus yang lain berlaku.

Kesimpulan

Dalam artikel ini kita melihat bagaimana kita dapat mengintegrasikan Xdebug dengan Sublime dan memastikan kita memahami bagaimana untuk debug. Hampir setiap IDE yang sesuai untuk PHP boleh diintegrasikan dengan XDEBUG. Sekiranya anda berminat untuk menyahpepijat seperti ini di Netbeans, lihat artikel yang disebutkan dalam Pengenalan. Adakah anda menggunakan titik putus? Atau adakah anda menggunakan fungsi PHP seperti VAR_DUMP untuk mendapatkan data debug anda? Beritahu kami dalam komen di bawah!

Soalan Lazim (Soalan Lazim) Mengenai Debugging Dengan Xdebug dan Teks Sublime 3

Bagaimana saya memasang xdebug untuk teks luhur 3?

Untuk memasang Xdebug untuk teks Sublime 3, anda perlu memasang pelanjutan PHP XDebug. Ini boleh dilakukan dengan memuat turun fail DLL yang sesuai dari laman web XDEBUG dan menambahkannya ke direktori PHP Extensions anda. Selepas itu, anda perlu mengubah suai fail php.ini anda untuk memasukkan lanjutan XDEBUG. Sebaik sahaja pelanjutan PHP XDEBUG dipasang, anda boleh memasang pakej XDEBUG untuk Teks Sublime 3 menggunakan kawalan pakej.

Bagaimana saya mengkonfigurasi xdebug untuk teks luhur 3?

Mengkonfigurasi xdebug untuk teks luhur 3 melibatkan mengubah suai fail php.ini anda dan tetapan Teks Sublime anda 3. Dalam fail php.ini anda, anda perlu menetapkan xdebug.remote_enable dan xdebug.remote_autostart tetapan ke 1. Dalam tetapan teks 3 anda, anda perlu menentukan laluan ke PHP anda yang boleh dilaksanakan dan nombor port yang perlu digunakan oleh Xdebug anda .

Mengapa Xdebug tidak bekerja dalam teks luhur 3?

Jika Xdebug tidak berfungsi dalam Teks Sublime 3, mungkin ada beberapa sebab. Satu isu biasa ialah lanjutan PHP XDEBUG tidak dipasang atau dikonfigurasi dengan betul. Isu lain ialah pakej Xdebug untuk Teks Sublime 3 tidak dipasang atau dikonfigurasi dengan betul. Ia juga mungkin ada masalah dengan PHP atau Sublime Text 3 tetapan 3. Teks Sublime 3, anda perlu menetapkan titik putus dalam kod anda. Ini boleh dilakukan dengan mengklik di longkang di sebelah baris kod di mana anda mahu titik putus. Sebaik sahaja titik putus ditetapkan, anda boleh memulakan sesi debugging dengan memilih "Mula Debugging" dari menu Xdebug. Boleh menggunakan XDEBUG dengan Teks Sublime 3 pada Mac. Proses untuk memasang dan mengkonfigurasi XDEBUG pada MAC adalah serupa dengan proses untuk Windows, tetapi terdapat beberapa perbezaan. Sebagai contoh, lokasi fail php.ini dan direktori sambungan php mungkin berbeza.

Bagaimana saya melihat nilai pembolehubah dengan xdebug dalam teks luhur 3? XDEBUG dalam Teks Sublime 3, anda perlu menggunakan ciri "Watch". Ini membolehkan anda menentukan pembolehubah yang ingin anda pantau semasa sesi debugging. Apabila perubahan berubah -ubah yang ditonton, nilai barunya dipaparkan di panel XDebug. Teks Sublime 3. Perintah ini membolehkan anda mengawal pelaksanaan baris kod anda mengikut baris, menjadikannya lebih mudah untuk mengenal pasti dan memperbaiki bug. Sesi penyahpepijatan dalam Sublime Text 3, anda boleh menggunakan perintah "Stop Debugging" dari menu Xdebug. Ini akan menamatkan sesi debugging dan kawalan kembali ke teks yang luhur 3.

Bolehkah saya debug aplikasi PHP jauh dengan Xdebug dan Sublime Text 3? Teks Sublime 3. Ini memerlukan konfigurasi tambahan, termasuk menetapkan xdebug.remote_host dan xdebug.remote_port Tetapan dalam fail php.ini anda.

bagaimana saya mengemas kini xdebug dalam teks luhur 3?

Untuk mengemas kini xdebug dalam teks luhur 3, anda perlu mengemas kini lanjutan php xdebug dan pakej xdebug untuk teks luhur 3. Dikemaskini dengan memuat turun fail DLL terkini dari laman web XDEBUG dan menggantikan fail DLL yang sedia ada dalam direktori PHP Extensions anda. Pakej XDebug untuk Teks Sublime 3 boleh dikemas kini menggunakan Kawalan Pakej.

Atas ialah kandungan terperinci Debugging dengan teks xdebug dan luhur 3. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Bagaimana anda membuat dan menggunakan antara muka dalam PHP?Bagaimana anda membuat dan menggunakan antara muka dalam PHP?Apr 30, 2025 pm 03:40 PM

Artikel ini menerangkan cara membuat, melaksanakan, dan menggunakan antara muka dalam PHP, memberi tumpuan kepada manfaat mereka untuk organisasi kod dan penyelenggaraan.

Apakah perbezaan antara crypt () dan password_hash ()?Apakah perbezaan antara crypt () dan password_hash ()?Apr 30, 2025 pm 03:39 PM

Artikel ini membincangkan perbezaan antara crypt () dan password_hash () dalam php untuk hashing kata laluan, memberi tumpuan kepada pelaksanaan, keselamatan, dan kesesuaian untuk aplikasi web moden.

Bagaimanakah anda dapat mencegah skrip lintas tapak (XSS) dalam PHP?Bagaimanakah anda dapat mencegah skrip lintas tapak (XSS) dalam PHP?Apr 30, 2025 pm 03:38 PM

Artikel membincangkan mencegah skrip lintas tapak (XSS) dalam PHP melalui pengesahan input, pengekodan output, dan menggunakan alat seperti OWASP ESAPI dan pembersih HTML.

Apakah autoloading dalam php?Apakah autoloading dalam php?Apr 30, 2025 pm 03:37 PM

Autoloading dalam PHP secara automatik memuat fail kelas apabila diperlukan, meningkatkan prestasi dengan mengurangkan penggunaan memori dan meningkatkan organisasi kod. Amalan terbaik termasuk menggunakan PSR-4 dan menganjurkan kod dengan berkesan.

Apakah aliran PHP?Apakah aliran PHP?Apr 30, 2025 pm 03:36 PM

Aliran PHP menyatukan pengendalian sumber seperti fail, soket rangkaian, dan format mampatan melalui API yang konsisten, abstrak kerumitan dan meningkatkan fleksibiliti dan kecekapan kod.

Berapakah saiz maksimum fail yang boleh dimuat naik menggunakan php?Berapakah saiz maksimum fail yang boleh dimuat naik menggunakan php?Apr 30, 2025 pm 03:35 PM

Artikel ini membincangkan menguruskan saiz muat naik fail dalam PHP, memberi tumpuan kepada had lalai 2MB dan bagaimana untuk meningkatkannya dengan mengubah suai tetapan php.ini.

Apakah jenis yang boleh dibatalkan dalam PHP?Apakah jenis yang boleh dibatalkan dalam PHP?Apr 30, 2025 pm 03:34 PM

Artikel ini membincangkan jenis yang boleh dibatalkan dalam PHP, yang diperkenalkan dalam Php 7.1, yang membolehkan pembolehubah atau parameter menjadi sama ada jenis atau null yang ditentukan. Ia menyoroti faedah seperti kebolehbacaan, keselamatan jenis, dan niat jelas, dan menerangkan cara mengisytiharkan

Apakah perbezaan antara fungsi Unset () dan Unlink ()?Apakah perbezaan antara fungsi Unset () dan Unlink ()?Apr 30, 2025 pm 03:33 PM

Artikel ini membincangkan perbezaan antara fungsi Unset () dan Unlink () dalam pengaturcaraan, memberi tumpuan kepada tujuan dan kes penggunaannya. Unset () membuang pembolehubah dari ingatan, sementara Unlink () memadam fail dari sistem fail. Kedua -duanya sangat penting untuk effec

See all articles

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

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.