Lewati ke konten utama

Troubleshooting PHP

Mengatasi masalah dalam pengembangan PHP sangat penting untuk memastikan aplikasi berjalan dengan baik. Berikut adalah beberapa teknik troubleshooting yang dapat digunakan.

1. Aktifkan Error Reporting

PHP secara default menyembunyikan error. Aktifkan error reporting untuk melihat kesalahan secara jelas.

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

2. Periksa Log Kesalahan (Error Logs)

Periksa log PHP untuk menemukan penyebab error.

tail -f /var/log/apache2/error.log  # Untuk Apache

Atau jika menggunakan Nginx:

tail -f /var/log/nginx/error.log

3. Gunakan var_dump() dan print_r()

Gunakan var_dump() atau print_r() untuk melihat isi variabel.

$data = ['name' => 'John', 'age' => 30];
var_dump($data);

4. Gunakan debug_backtrace()

Untuk melihat urutan eksekusi kode yang menyebabkan error:

print_r(debug_backtrace());

5. Gunakan try-catch untuk Menangani Exception

Gunakan blok try-catch untuk menangkap error.

try {
throw new Exception("Terjadi kesalahan");
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}

6. Gunakan Xdebug untuk Debugging

Xdebug adalah ekstensi PHP untuk debugging yang lebih mendalam.

Install Xdebug

pecl install xdebug

Tambahkan ke php.ini:

zend_extension=xdebug.so
xdebug.mode=debug
xdebug.start_with_request=yes

7. Periksa Konfigurasi PHP dengan phpinfo()

Buat file phpinfo.php untuk melihat konfigurasi PHP.

<?php
phpinfo();

8. Gunakan error_log() untuk Logging

Untuk mencatat kesalahan ke dalam log:

error_log("Terjadi kesalahan pada aplikasi", 3, "errors.log");

9. Cek Masalah dengan Composer

Jika mengalami masalah dengan dependency, jalankan:

composer diagnose
composer update

10. Debugging Query Database

Gunakan prepared statements dan tampilkan error dari PDO:

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

11. Periksa Hak Akses File

Pastikan PHP memiliki izin untuk membaca dan menulis file yang diperlukan.

ls -lah /var/www/html/

12. Hapus Cache PHP

Hapus OPcache jika ada perubahan kode yang tidak terlihat.

service php-fpm restart

13. Gunakan Linter untuk Mengecek Sintaks

Gunakan PHP linter untuk mendeteksi kesalahan sintaks.

php -l script.php

14. Gunakan PHPUnit untuk Testing

Pastikan kode berjalan dengan baik menggunakan PHPUnit.

vendor/bin/phpunit tests

15. Kesimpulan

  • Aktifkan error reporting dan gunakan logging.
  • Gunakan debugger seperti Xdebug untuk analisis lebih dalam.
  • Periksa konfigurasi PHP dengan phpinfo().
  • Gunakan Composer untuk manajemen dependensi.
  • Pastikan tidak ada kesalahan sintaks menggunakan PHP linter.

Dengan menerapkan teknik troubleshooting ini, Anda dapat lebih mudah menemukan dan memperbaiki bug dalam aplikasi PHP Anda.