Rumah >pembangunan bahagian belakang >tutorial php >Cara memasang xdebug dengan phpstorm dan vagrant

Cara memasang xdebug dengan phpstorm dan vagrant

Lisa Kudrow
Lisa Kudrowasal
2025-02-20 11:44:14610semak imbas

Cara memasang xdebug dengan phpstorm dan vagrant

Takeaways Key

    Xdebug adalah lanjutan PHP yang meningkatkan debugging dan profil kod, memberikan jejak timbunan terperinci untuk kesilapan. Tutorial ini menyediakan panduan langkah demi langkah untuk menubuhkan Xdebug dengan phpStorm untuk aplikasi PHP yang dihoskan.
  • Proses ini melibatkan pemasangan dan boot homestead, memasang aplikasi Laravel sampel, dan mengkonfigurasi fail Xdebug.ini untuk membolehkan penggunaan jauh. PHPStorm juga memerlukan konfigurasi, termasuk menambah pelayan baru dan mewujudkan persekitaran debug.
  • Tutorial disimpulkan dengan fasa ujian untuk memastikan persediaan berfungsi seperti yang diharapkan. Proses ini mudah disesuaikan untuk mengintegrasikan Xdebug ke dalam IDE lain, dengan hanya bahagian PHPStorm yang mungkin memerlukan perubahan.
Sekarang, kita semua telah belajar untuk mencintai Vagrant dan fleksibiliti pembangunan yang disediakannya. Tidak kira platform, anda boleh dengan mudah mempunyai persekitaran pembangunan dan berjalan dalam masa yang stabil yang bukan sahaja stabil, tetapi juga sama dalam setiap hal kepada persekitaran rakan sekerja, mentor atau mente anda. Tetapi sebagai aplikasi yang kami sedang berkembang tinggal di dalam mesin maya, mereka agak rumit untuk debug dengan Xdebug yang, secara lalai, ditala untuk localhost.

XDebug adalah lanjutan PHP yang membolehkan anda debug dan profil kod anda, melihat jejak timbunan terperinci dan boleh dibaca apabila kesilapan berlaku, dan banyak lagi. Untuk panduan terperinci, lihat jawatan Shameer. Sekiranya anda benar -benar tidak dikenali dengannya, anda akan melakukannya dengan baik untuk memasangnya terlebih dahulu mengikut prosedur di bawah, dan kemudian merujuk kepada jawatan yang dipautkan di atas untuk pecahan segala -galanya XDEBUG boleh lakukan untuk anda dan aplikasi anda.

Dalam tutorial ini, kami akan menubuhkan Xdebug dengan phpStorm untuk aplikasi PHP yang dihoskan vagrant.

Penyediaan

untuk menyediakan persekitaran, sila pasang dan boot homestead.

Sebaik sahaja ia boot, ssh vagrant ke dalamnya, dan pasang aplikasi Laravel sampel. Anda boleh melakukan ini dengan melaksanakan:

Apabila anda mendapat skrin ucapan Laravel, anda baik untuk pergi.
composer create-project laravel/laravel Laravel --prefer-dist

Memasang Xdebug

Langkah ini boleh dilangkau. Homestead dilengkapi dengan Xdebug dipasang dan didayakan. Anda dapat melihatnya dengan melihat phpinfo () selepas boot homestead:

atau dengan menyemak folder conf.d php fpm dan php cli: Cara memasang xdebug dengan phpstorm dan vagrant

ls /etc/php5/fpm/conf.d
ls /etc/php5/cli/conf.d
Jika anda melihat xdebug.ini di sana, ia dimuatkan. Jika anda menggunakan mana -mana kotak vagrant yang lain dan Xdebug tidak hadir, rujuk jawatan Shameer untuk arahan pemasangan.

Mengkonfigurasi xdebug.ini

Untuk membenarkan Xdebug digunakan dari jauh, kita perlu mengubah fail INI dan memberikan beberapa parameter yang dimatikan secara lalai. Fail XDebug.ini lalai Homestead (didapati dalam/etc/php5/mods-tersedia) pada asalnya hanya mengandungi arahan yang memberitahu PHP untuk membolehkannya, tetapi tidak ada lagi:

composer create-project laravel/laravel Laravel --prefer-dist

Di bawah baris itu, tambahkan pilihan berikut:

ls /etc/php5/fpm/conf.d
ls /etc/php5/cli/conf.d

Tutup fail dan mulakan semula php-fpm: perkhidmatan sudo php5-fpm restart. Itulah yang perlu kita konfigurasikan pada akhir Xdebug.

Mengkonfigurasi PHPStorm - Pelayan

PHPStorm memerlukan sedikit konfigurasi juga. Pertama, gunakannya untuk membuka direktori aplikasi Laravel yang kami buat dalam Langkah 1:

Cara memasang xdebug dengan phpstorm dan vagrant

Kemudian, pergi ke tetapan projek dan di bawah PHP -> pelayan menambah yang baru. Berikannya Port 8000, nama pilihan anda, dan di bawah tuan rumah, letakkan nama tuan rumah maya laman web anda (lalai: homestead.app). Kemudian, gunakan pemetaan jalan untuk memetakan laluan supaya lokasi codebase anda pada mesin tuan rumah sepadan dengan lokasi pada VM. Lakukan perkara yang sama untuk subfolder awam. Pada asasnya, pemindahan folder blok dari Homestead.yaml ke tetingkap ini. Ikuti contoh saya:

Cara memasang xdebug dengan phpstorm dan vagrant Mengkonfigurasi PHPStorm - Konfigurasi Debug

Untuk menjalankan debugger pada aplikasi, kita perlu mewujudkan persekitaran debug. Pergi ke Run -> Edit Konfigurasi. Di sana, buat konfigurasi baru untuk "Aplikasi Web PHP":

Gunakan tetapan baru dan tutup konfigurasi. Cara memasang xdebug dengan phpstorm dan vagrant

ujian

Itu semua ada untuk menetapkannya. Mari kita lihat sama ada ia berfungsi seperti yang diharapkan.

Dalam app/routes.php, ubah penutupan laluan rumah supaya kelihatan seperti kod di bawah:

Kemudian, letakkan titik putus di sebelah setiap baris penutupan yang melakukan sesuatu, seperti demikian:

zend_extension=xdebug.so

mari kita menguji titik putus ini. Jika anda mempunyai aplikasi yang dibuka di penyemak imbas anda, tutup tab itu sekarang, jika tidak, phpStorm tidak akan dapat menjalankannya semula. Kemudian, pergi ke Run -> Debug dan jalankan konfigurasi debug yang telah ditetapkan. Tab baru harus dilancarkan dan segera mengembalikan anda ke phpStorm dengan output yang serupa dengan yang satu ini:

Cara memasang xdebug dengan phpstorm dan vagrant

Bingkai kiri menyenaraikan StackTrace - fail permintaan yang telah dilalui - dan berhenti di Routes.php, fail kami. Anda akan melihat di panel kanan bahawa hanya superglobal yang diisytiharkan - tiada pembolehubah lain hadir pada masa ini. Mengklik butang resume bergerak ke titik putus seterusnya dan menghasilkan output berikut:

Cara memasang xdebug dengan phpstorm dan vagrant

Perhatikan pembolehubah $ A kami ada sekarang. Juga perhatikan anda boleh mengembangkannya untuk melihat apa yang terkandung di dalamnya. Mengklik butang resume sekali lagi menghasilkan output yang sedikit berbeza:

Cara memasang xdebug dengan phpstorm dan vagrant

array kami $ A mempunyai satu elemen yang kurang kerana operasi array_pop yang kami lakukan. Ini membuktikan titik putus kami berfungsi seperti yang dimaksudkan, dan Xdebug telah berjaya ditubuhkan.

Kesimpulan

Walaupun kesan awal, Xdebug sangat mudah dipasang untuk digunakan melalui Vagrant apabila seseorang tahu apa yang perlu dilakukan. Arahan ini mudah digunakan untuk integrasi Xdebug ke dalam mana -mana IDE lain juga, jadi jangan ragu untuk menyesuaikannya seperti yang anda lihat sesuai - hanya bahagian PHPStorm yang mungkin perlu berubah.

Adakah anda debug melalui lapisan VM? Adakah anda menggunakan pendekatan lain? Ada masalah yang kita tidak dapat disebutkan? Marilah kita tahu!

Soalan Lazim (Soalan Lazim) Mengenai Memasang Xdebug dengan PHPStorm dan Vagrant

Bagaimana saya memasang xdebug pada phpStorm dengan vagrant?

Untuk memasang Xdebug pada phpStorm dengan vagrant, anda perlu mengikuti satu siri langkah. Pertama, anda perlu memasang Vagrant dan VirtualBox. Selepas itu, anda perlu memasang phpStorm dan konfigurasikannya untuk menggunakan Xdebug. Anda juga perlu mengkonfigurasi Xdebug dalam fail php.ini anda. Sebaik sahaja anda telah melakukan semua ini, anda boleh mula menyahpepijat kod php anda dengan xdebug dalam phpstorm.

Apa itu xdebug dan mengapa saya harus menggunakannya? keupayaan profil. Ia membolehkan anda melangkah melalui kod anda, melihat nilai pembolehubah, dan jejak timbunan. Ini menjadikannya lebih mudah untuk memahami bagaimana kod anda berfungsi dan mengenal pasti sebarang kesilapan atau ketidakcekapan. Xdebug adalah alat penting bagi mana -mana pemaju PHP kerana ia meningkatkan proses debugging. Menu Tetapan dan pilih 'Bahasa & Rangka Kerja', kemudian 'PHP', dan kemudian 'Debug'. Di sini, anda boleh menetapkan port debug dan membolehkan pilihan 'Dengar untuk PHP Debug Connections'. Anda juga perlu mengkonfigurasi penterjemah PHP untuk menggunakan xdebug. beberapa baris kod. Ini termasuk menentukan laluan ke lanjutan XDEBUG, menetapkan pilihan remote_enable dan remote_autostart kepada 1, dan menyatakan REMOTE_HOST dan REMOTE_PORT. Kod tepat yang perlu anda tambahkan akan bergantung pada persediaan khusus anda.

Kenapa saya mendapat ralat 'sambungan ditolak' apabila cuba menggunakan XDEBUG? Bahawa Xdebug cuba menyambung ke port yang tidak dibuka atau sedang disekat oleh firewall. Anda perlu memastikan bahawa pelabuhan yang dinyatakan dalam konfigurasi XDebug anda terbuka dan mana -mana firewall dikonfigurasi untuk membolehkan sambungan ke port ini.

Bagaimana saya menggunakan Xdebug untuk debug kod php saya?

Untuk menggunakan Xdebug untuk debug kod PHP anda, anda perlu memulakan sesi debugging dalam phpStorm. Anda boleh melakukan ini dengan mengklik pada butang 'Mula Mendengar untuk PHP Debug Connections'. Kemudian, anda perlu menetapkan titik putus dalam kod anda di mana anda mahu pelaksanaan untuk berhenti sejenak. Apabila anda menjalankan kod anda, pelaksanaan akan berhenti di titik putus ini, membolehkan anda memeriksa nilai pembolehubah dan timbunan panggilan. , Xdebug boleh digunakan dengan pelbagai IDE, bukan hanya phpstorm. Walau bagaimanapun, proses untuk memasang dan mengkonfigurasi Xdebug mungkin berbeza -beza bergantung kepada IDE yang anda gunakan. disebabkan oleh beberapa sebab. Satu kemungkinan ialah pemetaan jalan dalam konfigurasi PHPStorm anda tidak betul. Kemungkinan lain ialah pelanjutan Xdebug tidak dipasang atau dikonfigurasikan dengan betul. Langkah -langkah bagi pemasangan tempatan, tetapi dengan beberapa langkah tambahan. Anda perlu memastikan bahawa pelanjutan XDebug dipasang pada pelayan dan fail Php.ini pelayan dikonfigurasi dengan betul. Anda juga perlu mengkonfigurasi phpStorm untuk menyambung ke pelayan jauh.

Bagaimana saya memaparkan kod php saya dengan xdebug?

Konfigurasi XDEBUG anda. Anda kemudian boleh menjalankan kod anda dan XDebug akan menghasilkan fail profil. Fail ini boleh dianalisis dengan alat seperti KCACHEGRIND atau QCACHEGRIND untuk mendapatkan maklumat terperinci mengenai prestasi kod anda.

Atas ialah kandungan terperinci Cara memasang xdebug dengan phpstorm dan vagrant. 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