Debugging dengan teks xdebug dan luhur 3
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".
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.
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.
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!

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











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,

Sesi rampasan boleh dicapai melalui langkah -langkah berikut: 1. Dapatkan ID Sesi, 2. Gunakan ID Sesi, 3. Simpan sesi aktif. Kaedah untuk mengelakkan rampasan sesi dalam PHP termasuk: 1. Gunakan fungsi Sesi_Regenerate_ID () untuk menjana semula ID Sesi, 2. Data sesi stor melalui pangkalan data, 3.

Prinsip reka bentuk Restapi termasuk definisi sumber, reka bentuk URI, penggunaan kaedah HTTP, penggunaan kod status, kawalan versi, dan benci. 1. Sumber harus diwakili oleh kata nama dan dikekalkan pada hierarki. 2. Kaedah HTTP harus mematuhi semantik mereka, seperti GET digunakan untuk mendapatkan sumber. 3. Kod status hendaklah digunakan dengan betul, seperti 404 bermakna sumber tidak wujud. 4. Kawalan versi boleh dilaksanakan melalui URI atau header. 5. Boots Operasi Pelanggan Hateoas melalui pautan sebagai tindak balas.

Dalam PHP, pengendalian pengecualian dicapai melalui percubaan, menangkap, akhirnya, dan membuang kata kunci. 1) blok percubaan mengelilingi kod yang boleh membuang pengecualian; 2) Blok tangkapan mengendalikan pengecualian; 3) Akhirnya Blok memastikan bahawa kod itu sentiasa dilaksanakan; 4) Lemparan digunakan untuk membuang pengecualian secara manual. Mekanisme ini membantu meningkatkan keteguhan dan mengekalkan kod anda.

Fungsi utama kelas tanpa nama dalam PHP adalah untuk membuat objek satu kali. 1. Kelas tanpa nama membenarkan kelas tanpa nama ditakrifkan secara langsung dalam kod, yang sesuai untuk keperluan sementara. 2. Mereka boleh mewarisi kelas atau melaksanakan antara muka untuk meningkatkan fleksibiliti. 3. Beri perhatian kepada prestasi dan kebolehbacaan kod apabila menggunakannya, dan elakkan berulang kali menentukan kelas tanpa nama yang sama.

Dalam PHP, perbezaan antara termasuk, memerlukan, termasuk_once, memerlukan_once adalah: 1) termasuk menghasilkan amaran dan terus melaksanakan, 2) memerlukan menghasilkan ralat maut dan berhenti pelaksanaan, 3) termasuk_once dan memerlukan_once mencegah kemasukan berulang. Pilihan fungsi ini bergantung kepada kepentingan fail dan sama ada perlu untuk mencegah kemasukan pendua. Penggunaan rasional dapat meningkatkan kebolehbacaan dan pemeliharaan kod.

Terdapat empat jenis kesilapan utama dalam PHP: 1.Notice: yang paling sedikit, tidak akan mengganggu program, seperti mengakses pembolehubah yang tidak ditentukan; 2. Amaran: Serius daripada notis, tidak akan menamatkan program, seperti tidak mengandungi fail; 3. FatalError: Yang paling serius, akan menamatkan program ini, seperti tidak memanggil fungsi; 4. ParseError: Kesalahan sintaks, akan menghalang program daripada dilaksanakan, seperti lupa untuk menambah tag akhir.

PHP dan Python masing -masing mempunyai kelebihan mereka sendiri, dan memilih mengikut keperluan projek. 1.PHP sesuai untuk pembangunan web, terutamanya untuk pembangunan pesat dan penyelenggaraan laman web. 2. Python sesuai untuk sains data, pembelajaran mesin dan kecerdasan buatan, dengan sintaks ringkas dan sesuai untuk pemula.
