
Teknik debugging adalah proses mengidentifikasi, menganalisis, atau memperbaiki kesalahan (bug) dalam script PHP + MySQL. Berikut adalah beberapa teknik debugging yang dapat digunakan.
- Error Reporting: Pastikan pengaturan error reporting pada PHP diaktifkan. Dalam file PHP Anda, tambahkan kode berikut di bagian paling atas untuk menampilkan semua jenis kesalahan:
error_reporting(E_ALL); ini_set('display_errors', 1);
Dengan cara ini, jika ada kesalahan dalam skrip Anda, PHP akan menampilkan pesan kesalahan yang lebih rinci
- Log File: Buat file log khusus untuk mencatat pesan kesalahan. Anda dapat menggunakan fungsi
error_log()
untuk mencatat pesan kesalahan ke file log. Contoh penggunaan:error_log('Error: Something went wrong.', 3, '/path/to/error.log');
Pastikan Anda memberikan path yang benar ke file log yang sesuai dengan konfigurasi server Anda.
- Dumping Variables: Gunakan fungsi
var_dump()
atauprint_r()
untuk mencetak nilai variabel tertentu. Ini berguna untuk memeriksa nilai variabel di titik tertentu dalam skrip Anda. Misalnya:$myVariable = 'Hello, world!'; var_dump($myVariable);
-
Komentar: Jika ada bagian skrip yang dicurigai menyebabkan masalah, Anda dapat mencoba mengomentari sebagian kode untuk menemukan sumber kesalahan. Komentar kode yang dicurigai kemudian jalankan ulang skrip dan lihat apakah masalahnya teratasi. Ini membantu mempersempit penyebab kesalahan.
-
Menggunakan Perintah "die()" atau "exit()": Jika Anda mencurigai bahwa skrip PHP berhenti atau keluar sebelum mencapai titik tertentu, Anda dapat menempatkan perintah
die()
atauexit()
di bagian skrip yang dicurigai untuk menghentikan eksekusi. Misalnya: -
// Sebelum titik dicurigai echo 'Checkpoint A'; die(); // Setelah titik dicurigai echo 'Checkpoint B'; die();
7. Penggunaan try-catch: Jika Anda menggunakan blok try-catch
dalam kode Anda, pastikan untuk menangkap dan menampilkan pesan kesalahan dengan jelas. Misalnya:
try {
// Kode yang mungkin menyebabkan kesalahan
} catch (Exception $e) {
echo 'Terjadi kesalahan: ' . $e->getMessage();
}