PHP Debugging Dengan XDebug & Visual Studio Code

Artikel singkat ini akan membahas mengenai bagaimana cara melakukan debugging program PHP dengan menggunakan Visual Studio Code dan XDebug dengan Extension PHP Debug.
Apa Xdebug?
XDebug adalah extension PHP yang memungkinkan kita untuk melakukan debugging dengan menggunakan IDE pemrograman seperti Visual Studio Code. Beberapa fitur yang dimiliki XDebug seperti:
- Set/Remove breakpoints
- Perform an automatic stack trace
- Set a manual variable watch
- Enable function call logging
- Enable profiling
- Allow remote debugging
Install XDebug dan PHP Debug
Untuk dapat menggunakan Visual Studio Code dengan extension PHP Debug, pertama kita harus menginstall XDebug terlebih dahulu. Untuk memudahkan proses instalasi dan memastikan instalasi sukses, kita akan menggunakan installation wizard.
Buka command prompt / terminal kemudian ketikan perintah berikut:
php -i > php-info.txtPerintah diatas akan mengambil informasi PHP (phpinfo()) yang terdapat di server Anda kemudian menuliskannya ke dalam file php-info.txt. Kunjungi halaman installation wizard XDebug di atas, kemudian copy-paste isi dari php-info.txt ke dalam form yang sudah disediakan. Terakhir, klik tombol “Analyze my phpinfo() output”.

Selanjutnya, anda cukup mengikuti langkah-langkah instalasi yang telah disediakan sesuai dengan informasi phpinfo() yang anda berikan pada form wizard.

Langkah selanjutnya Anda perlu menambahkan beberapa line konfigurasi pada php.ini yang digunakan oleh web server Anda. Misalkan Anda menggunakan Apache dengan lokasi php.ini yang berada di /etc/php/7.2/apache2/php.ini. Tambahkan kode berikut pada baris terakhir /etc/php/7.2/apache2/php.ini.
; Sesuaikan path dari xdebug.so sesuai dengan hasil wizard
zend_extension = /usr/lib/php/20170718/xdebug.so[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
Untuk memastikan XDebug sudah sudah terinstall dengan benar, anda bisa menggunakan perintah php --version . Anda akan mendapatkan output seperti di bawah ini.
PHP 7.2.9-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Aug 19 2018 07:16:54) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Xdebug v2.6.1, Copyright (c) 2002-2018, by Derick Rethans
with Zend OPcache v7.2.9-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend TechnologiesKedua, kita perlu memastikan XDebug sudah terintegrasi dengan web server dengan benar. Buat sebuah file PHP baru untuk melihat hasil dari phpinfo().
<?php
phpinfo();Akses file tersebut melalui web browser anda dan pastikan pada bagian Zend Engine terdapat informasi dari XDebug

Selamat Anda telah berhasil menginstall XDebug pada server Anda! Selanjutnya mari kita install extension PHP Debug. Buka Visual Studio dan cari “PHP Debug” melalui menu Extensions.

Reload/Restart Visual Studio Code dan XDebug + PHP Debug siap digunakan.
Cara Menggunakan XDebug + PHP Debug.
Silahkan buat sebuah file PHP yang ingin Anda gunakan untuk debugging. Untuk percobaan, Anda bisa menggunakan contoh code di bawah ini.
Simpan file di atas dengan nama yang Anda inginkan (misalkan index.php). Tempatkan pada directory html/www web server agar bisa diakses melalui web browser.
Selanjutnya pada Visual Studio Code, klik Debug icon pada menu sidebar (kiri). Klik tombol ▶ (️Start Debugging) untuk memulai proses debugging. Pada dropdown configuration menu, pilih “Listen to XDebug”.

Selanjutnya, Tambahkan breakpoint pada baris code yang Anda inginkan. Sebagai contoh, saya akan menempatkan breakpoint pada baris 27 dan baris 31 untuk melihat perubahan variable (object)$user saat inisialisasi dan sesudah propertynya dimodifikasi.
Coba akses file index.php yang anda buat di atas melalui web browser. Misalkan http://localhost/test/index.php. Perhatikan pada bagian VARIABLES. Proses debugging akan langsung menjabarkan isi dari variable yang terdefinisi hingga breakpoint (pemberhentian eksekusi program) yang kita tentukan.

Untuk melanjutkan ekseskusi program ke breakpoint selanjutnya, tekan F5 atau klik “Continue” pada debug toolbar. Pada gambar di bawah, Anda dapat melihat perubahan value dari property address pada object $user yang semula Bali menjadi Denpasar.

Contoh yang saya sertakan di atas hanya contoh penggunaan serderhana dari XDebug dan PHP Debug pada Visual Studio Code. Untuk penggunaanPHP Debug lebih lanjut, silahkan kunjungin link di bawah ini.
Selamat mencoba dan semoga bermanfaat. Jangan lupa beri claps 👏 jika Anda menyukai artikel ini. Happy codding dan Terima kasih 😸 🍻

