Bagaimana cara menampilkan kesalahan php di html?

Jika Anda ingin PHP menampilkan kesalahan runtime pada halaman, Anda harus mengaktifkan , baik di php.ini atau menggunakan fungsi ini_set

Anda dapat memilih kesalahan mana yang akan ditampilkan, dengan fungsi error_reporting (atau di ini), yang menerima konstanta E_*, digabungkan menggunakan operator bitwise

PHP dapat menampilkan kesalahan dalam format teks atau HTML, tergantung pada pengaturannya

Contoh

ini_set("display_errors", true); ini_set("html_errors", false); // Display errors in plain text error_reporting(E_ALL & ~E_USER_NOTICE); // Display everything except E_USER_NOTICE trigger_error("Pointless error"); // E_USER_NOTICE echo $nonexistentVariable; // E_NOTICE nonexistentFunction(); // E_ERROR

Keluaran teks biasa. (format HTML berbeda antar implementasi)

Notice: Undefined variable: nonexistentVariable in /path/to/file.php on line 7 Fatal error: Uncaught Error: Call to undefined function nonexistentFunction() in /path/to/file.php:8 Stack trace: #0 {main} thrown in /path/to/file.php on line 8 _

CATATAN. Jika Anda memiliki pelaporan kesalahan yang dinonaktifkan di php. ini dan aktifkan selama waktu proses, beberapa kesalahan (seperti kesalahan penguraian) tidak akan ditampilkan, karena terjadi sebelum pengaturan waktu proses diterapkan

Cara umum untuk menangani error_reporting_ adalah mengaktifkannya sepenuhnya dengan konstanta E_ALL selama pengembangan, dan menonaktifkannya untuk ditampilkan secara publik dengan display_errors pada tahap produksi untuk menyembunyikan bagian dalam skrip Anda

Selama eksekusi aplikasi PHP, dapat menghasilkan berbagai macam peringatan dan kesalahan. Untuk pengembang yang ingin memecahkan masalah aplikasi yang bermasalah, kemampuan untuk memeriksa kesalahan ini sangatlah penting. Pengembang, di sisi lain, sering mengalami kesulitan saat mencoba menampilkan kesalahan dari aplikasi PHP mereka. Sebaliknya, aplikasi mereka berhenti bekerja

Pertama dan terpenting, Anda harus menyadari bahwa dengan PHP, beberapa kesalahan mencegah skrip dieksekusi. Beberapa kesalahan, di sisi lain, hanya menampilkan pesan kesalahan dengan peringatan. Kemudian Anda akan belajar bagaimana menggunakan PHP untuk menampilkan atau menyembunyikan semua pelaporan kesalahan

Di PHP, ada empat jenis kesalahan

  1. Perhatikan Kesalahan – Saat mencoba mengakses indeks yang tidak ditentukan dalam kode PHP, terjadi kesalahan. Eksekusi kode PHP tidak dihentikan oleh kesalahan pemberitahuan. Itu hanya mengingatkan Anda pada fakta bahwa ada masalah
  2. Kesalahan Peringatan – Penyebab paling umum dari kesalahan peringatan adalah menghilangkan file atau menjalankan fungsi dengan parameter yang tidak tepat. Ini sebanding dengan melihat kesalahan, tetapi tidak menghentikan kode PHP berjalan. Itu hanya berfungsi sebagai pengingat bahwa skrip memiliki kekurangan
  3. Kesalahan Fatal – Ketika fungsi dan kelas yang tidak ditentukan dipanggil dalam kode PHP, kesalahan fatal terjadi. Kode PHP dihentikan dan pesan kesalahan ditampilkan saat kesalahan fatal terjadi
  4. Kesalahan Parse – Ketika masalah sintaks terjadi pada skrip, ini disebut sebagai kesalahan parse. Eksekusi kode PHP juga dihentikan ketika terjadi kesalahan penguraian, dan pesan kesalahan ditampilkan

Anda datang ke tempat yang tepat jika mengalami masalah dengan aplikasi web PHP dan perlu melihat semua kesalahan dan peringatan. Kami akan membahas semua cara berbeda untuk mengaktifkan kesalahan dan peringatan PHP dalam tutorial ini

1. Untuk Menampilkan Semua Kesalahan PHP

Menambahkan baris ini ke file kode PHP Anda adalah cara tercepat untuk menampilkan semua kesalahan dan peringatan PHP

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

Fungsi ini_set() akan mencoba menimpa konfigurasi file PHP ini

Arahan display_errors dan display_startup_errors hanyalah dua opsi

  1. Direktif display_errors menentukan apakah kesalahan terlihat oleh pengguna atau tidak. Setelah pengembangan, direktif dispay_errors biasanya harus dinonaktifkan
  2. Direktif display_startup_errors, di sisi lain, terpisah karena kesalahan tampilan tidak menangani kesalahan yang terjadi selama urutan startup PHP

Dokumentasi resmi berisi daftar arahan yang dapat diganti oleh fungsi ini_set(). Sayangnya, masalah penguraian seperti titik koma yang hilang atau tanda kurung kurawal tidak akan ditampilkan oleh kedua arahan ini. Konfigurasi PHP ini harus diubah dalam skenario ini

Untuk menampilkan semua kesalahan, termasuk kesalahan penguraian, di xampp, lakukan perubahan berikut pada php. Ini file contoh dan restart server apache

display_errors = on

Di dalam PHP. ini, setel direktif kesalahan tampilan untuk dihidupkan. Ini akan menampilkan semua kesalahan yang tidak dapat dilihat hanya dengan memanggil fungsi ini_set(), seperti kesalahan sintaks dan parsing

2. . htaccess Konfigurasi untuk Menampilkan Kesalahan PHP

File direktori biasanya dapat diakses oleh pengembang. Itu. htaccess di root proyek atau direktori publik juga dapat digunakan untuk mengaktifkan atau menonaktifkan arahan untuk menampilkan kesalahan PHP

php_flag display_startup_errors on php_flag display_errors on_

htaccess memiliki arahan untuk display_startup_errors dan display_errors, mirip dengan apa yang akan ditambahkan ke kode PHP untuk menunjukkan kesalahan PHP. Manfaat menampilkan atau membungkam pesan kesalahan dengan cara ini adalah bahwa pengembangan dan produksi dapat terpisah. htaccess, dengan tampilan kesalahan penekan produksi

Anda mungkin ingin menyesuaikan display_errors. htaccess atau PHP Anda. Ini bergantung pada file mana yang dapat Anda akses dan bagaimana Anda menangani penyebaran dan konfigurasi server. Banyak perusahaan hosting tidak mengizinkan Anda mengubah PHP. ini untuk mengaktifkan kesalahan tampilan

3. Aktifkan Peringatan dan Pemberitahuan Terperinci

Peringatan yang tampaknya tidak memengaruhi aplikasi pada awalnya terkadang dapat mengakibatkan kesalahan fatal dalam keadaan tertentu. Peringatan ini harus diperbaiki karena menunjukkan bahwa aplikasi tidak akan berfungsi secara normal dalam keadaan tertentu. Jika peringatan ini menghasilkan banyak kesalahan, akan lebih praktis untuk menyembunyikan kesalahan dan hanya menampilkan pesan peringatan

error_reporting(E_WARNING);

Menampilkan peringatan dan menyembunyikan kesalahan semudah menambahkan satu baris kode untuk pengembang. Parameter untuk fungsi pelaporan kesalahan adalah “E_WARNING. E_NOTICE” untuk menampilkan peringatan dan notifikasi. Sebagai operator bitwise, fungsi pelaporan kesalahan dapat menerima parameter E_ERROR, E_WARNING, E_PARSE, dan E_NOTICE

Untuk kemudahan referensi, konstanta ini juga dirinci dalam Manual PHP online

Untuk melaporkan semua kesalahan kecuali pemberitahuan, gunakan opsi "E_ALL & E_NOTICE", di mana E_ALL mengacu pada semua parameter potensial fungsi pelaporan kesalahan

4. Mendalami Fungsi error_reporting()

Salah satu hasil pertama saat Anda menjelajahi "kesalahan PHP" adalah tautan ke dokumentasi fungsi error_reporting()

Fungsi error_reporting() PHP memungkinkan pengembang untuk memilih mana dan berapa banyak kesalahan yang harus ditampilkan dalam aplikasi mereka. Ingatlah bahwa fungsi ini akan mengatur direktif pelaporan kesalahan dalam konfigurasi PHP ini selama runtime

error_reporting(0);_

Nilai nol harus diberikan ke fungsi error_reporting() untuk menghapus semua kesalahan, peringatan, parse pesan, dan pemberitahuan. Baris kode ini tidak praktis untuk disertakan di setiap file PHP. Lebih baik untuk menonaktifkan pesan laporan dalam file PHP ini atau. file htaccess

error_reporting(-1);

Nilai integer juga diteruskan sebagai input ke fungsi error_reporting(). Di PHP, kami dapat menggunakan metode ini untuk menampilkan kesalahan. Di PHP, ada banyak jenis kesalahan. Semua kesalahan PHP diwakili oleh level -1. Bahkan dengan level dan konstanta baru, meneruskan nilai -1 akan berfungsi di versi PHP mendatang

error_reporting(E_NOTICE);_

Variabel dapat digunakan meskipun tidak dideklarasikan dalam PHP. Ini tidak disarankan karena variabel yang tidak dideklarasikan dapat menimbulkan masalah dalam aplikasi saat digunakan dalam loop dan kondisi

Ini juga bisa terjadi ketika variabel yang dinyatakan dieja berbeda dari variabel yang digunakan dalam kondisi atau loop. Variabel yang tidak dideklarasikan ini akan ditampilkan di aplikasi web jika E_NOTICE disediakan di fungsi error_reporting()

error_reporting(E_ALL & ~E_NOTICE);_

Anda dapat memfilter kesalahan mana yang ditampilkan menggunakan fungsi error_reporting(). Karakter “~” adalah singkatan dari “not” atau “no”, sehingga parameter ~E_NOTICE menunjukkan bahwa pemberitahuan tidak boleh ditampilkan

Dalam kode, perhatikan huruf "&" dan ". " Simbol "&" berarti "benar untuk semua", sedangkan ". karakter berarti “benar untuk keduanya. Dalam PHP, kedua karakter ini memiliki arti yang sama. ATAU dan DAN

5. Gunakan Fungsi error_log() untuk Mencatat Kesalahan PHP

Pesan kesalahan tidak boleh ditampilkan kepada pengguna akhir selama produksi, tetapi harus dicatat untuk tujuan pelacakan. Pendekatan terbaik untuk melacak pesan kesalahan ini dalam aplikasi web langsung adalah dengan melacaknya di file log

Fungsi error_log(), yang menerima empat parameter, menyediakan cara sederhana untuk menggunakan file log. Parameter pertama, yang berisi informasi tentang kesalahan log atau apa yang harus dicatat, adalah satu-satunya parameter yang harus disediakan. Jenis, tujuan, dan parameter header fungsi ini semuanya opsional

error_log("Whoosh!!! Something is wrong!", 0);

Jika opsi tipe tidak ditentukan, defaultnya adalah 0, yang berarti bahwa informasi log ini akan ditambahkan ke file log server web

error_log("Email this error to Justin!", 1, "Justin@mydomain.com");

Log kesalahan yang disediakan di parameter ketiga akan dikirim melalui email menggunakan parameter tipe 1. Untuk menggunakan fitur ini, PHP ini harus memiliki konfigurasi SMTP yang valid untuk mengirim email

Host, jenis enkripsi, nama pengguna, kata sandi, dan port adalah beberapa direktif SMTP ini. Pelaporan kesalahan semacam ini direkomendasikan untuk mencatat atau memberi tahu kesalahan yang harus diperbaiki sesegera mungkin

display_errors = on0

Tipe 3 harus digunakan untuk mencatat pesan dalam file berbeda yang dibuat oleh konfigurasi server web. Parameter ketiga menentukan lokasi file log, yang harus dapat ditulis oleh server web. Lokasi file log mungkin berupa perpustakaan relatif atau absolut tempat kode ini dipanggil

Anda juga dapat merujuk ke dokumentasi fungsi error_log() untuk mengetahui lebih lanjut

6. Gunakan Konfigurasi Server Web untuk Mencatat Kesalahan PHP

Teknik ideal untuk merekam kesalahan adalah dengan mendefinisikannya di file konfigurasi server web, daripada memodifikasi parameter di. htaccess atau menambahkan baris dalam kode PHP untuk menampilkan kesalahan

display_errors = on1

File-file ini harus ditambahkan ke host virtual halaman HTML tertentu atau aplikasi di Apache, yang umumnya ditemukan di folder yang tersedia di situs di Ubuntu atau file httpd-vhosts di Windows

display_errors = on2

Direktif hanya disebut error_log() di Nginx, seperti di Apache. File log untuk server web Apache dan Nginx harus dapat ditulis oleh server web. Untungnya, folder untuk file log dari kedua server web ini sudah dapat ditulisi setelah penginstalan

7. Kumpulkan Kesalahan PHP menggunakan Status

Atatus adalah solusi Manajemen Kinerja Aplikasi (APM) yang mengumpulkan semua permintaan ke aplikasi PHP Anda tanpa mengharuskan Anda mengubah kode sumber. Namun, alat tersebut melakukan lebih dari sekadar melacak kinerja aplikasi Anda. Kemampuan Atatus untuk secara otomatis mengumpulkan semua kesalahan yang tidak tertangani dalam aplikasi PHP Anda adalah salah satu fitur terbaiknya

Untuk memperbaiki pengecualian PHP, kumpulkan semua informasi yang diperlukan seperti kelas, pesan, URL, agen permintaan, versi, dan sebagainya. Setiap kesalahan PHP dicatat dan ditangkap dengan pelacakan tumpukan penuh, dengan baris kode sumber yang tepat ditandai, untuk memudahkan perbaikan bug

Baca panduan untuk mengetahui lebih lanjut tentang Pemantauan Kinerja PHP

Semua kesalahan dicatat secara otomatis dan disusun dalam Atatus sehingga dapat dilihat dengan mudah. Atatus tidak hanya akan menunjukkan kepada Anda kesalahan apa yang telah terjadi, tetapi juga akan memeriksa di mana dan mengapa kesalahan itu terjadi. Log juga menampilkan waktu dan jumlah kejadian, membuatnya lebih mudah untuk fokus pada masalah mana yang harus diatasi

Mulai uji coba gratis Atatus selama 14 hari, sekarang juga

Ringkasan

Ketika ada masalah dengan kode PHP, kesalahan PHP terjadi. Bahkan sesuatu yang sederhana seperti sintaks yang salah atau melupakan titik koma dapat mengakibatkan kesalahan, yang memicu pemberitahuan. Alternatifnya, penyebabnya bisa lebih rumit, seperti menggunakan variabel yang salah, yang dapat mengakibatkan kesalahan fatal dan menyebabkan sistem Anda mogok

Tutorial ini telah menunjukkan kepada Anda beberapa cara untuk mengaktifkan dan menampilkan semua kesalahan dan peringatan PHP. Anda dapat meningkatkan kemampuan Anda untuk men-debug masalah PHP dengan menerima pemberitahuan kesalahan dengan cepat dan tepat

Bagaimana cara mengaktifkan pelaporan kesalahan PHP?

ini, kita dapat mengatur parameter display_error menjadi on atau off. Aktif berarti kesalahan ditampilkan dan tidak aktif berarti tidak ada kesalahan untuk ditampilkan dan dilaporkan. Untuk melakukannya, buka file “php. ini” dan cari parameter display_error dan ubah ke nilai pada .

Bagaimana cara menampilkan semua kesalahan dalam kode PHP?

pelaporan_kesalahan(E_ALL); . Error_reporting(E_ALL) adalah yang paling banyak digunakan karena lebih mudah dibaca. These 3 lines of code do the same thing - they show all PHP errors. The error_reporting(E_ALL) is the most widely used since it is more readable.

Bagaimana cara membuat pesan kesalahan di PHP?

Secara default, PHP mengirim log kesalahan ke sistem logging atau file server, tergantung pada bagaimana konfigurasi error_log diatur di php. file ini. Dengan menggunakan fungsi error_log() Anda dapat mengirim log kesalahan ke file tertentu atau tujuan jarak jauh .

Bagaimana cara menampilkan kesalahan di PHP?

Untuk menonaktifkan atau menonaktifkan pelaporan kesalahan di PHP, tetapkan nilainya ke nol . Misalnya, gunakan cuplikan kode.

Postingan terbaru

LIHAT SEMUA