Error log atau file error_log adalah file yang dihasilkan oleh php ketika terjadi kesalahan dalam penulisan kode (scripting), kesalahan dan ketidaksesuaian dengan konfigurasi database mysql, atau bahkan kesalahan engine PHP dengan mesin server lainnya.
Sebenarnya error log bermanfaat untuk mengumpulkan informasi kesalahan untuk proses debug, untuk memahami debug sendiri lihat 2 cara aman debug wordpress.
Jawabnya, jika Anda sudah mempelajari dan memperbaiki kesalahan yang ditampilkan dalam error log maka saya sendiri sangat menganjurkan untuk menghapus error log. Karena di sisi lain file error log yang membengkak selain menyita jatah space hosting kita juga bahaya jika dibiarkan karena berpotensi untuk dimanfaatkan oleh para h*cker atau de*acer untuk mengumpulkan informasi celah keamanan website kita. Khusus pengguna wordpress pahami cara menutup celah keamanan wordpress di sini.
Selain itu terkadang file error_log muncul bukan karena script php yang kita gunakan atau bukan murni kesalahan kita pengguna webhosting. Contoh kasus, baru-baru ini webhosting saya mengupgrade engine php ke versi PHP 5.4.23. Spontan file error_log muncul di setiap folder utama dengan isi log berikut:
[04-Sep-2014 21:43:40 America/New_York] PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/lib/php/extensions/no-debug-non-zts-20100525/suhosin.so’ – /usr/local/lib/php/extensions/no-debug-non-zts-20100525/suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0
Setelah dipelajari ternyata error tersebut disebabkan oleh ekstensi suhosin yang dipakai pada engine php versi sebelumnya. Agar diketahui ekstensi suhosin ini tidak dipakai lagi pada php 5.4.xx ke atas. Lama-kelamaan errog log karena suhosin ini membengkak hingga 48MB, padahal space hosting saya cuma 150 MB saja 🙁 Sayapun sudah meminta pihak hosting untuk mematikan ekstensi suhosin pada server saya, sayang jawabannya justru pihak hosting menyarankan untuk memperbaiki script, padahal script saya cuma standar wordpress saja. Nah, akhirnya saya memutuskan untuk mencari cara menghapus error log secara otomatis, dan sayapun berhasil menghapus error log otomatis tanpa harus login ke cpanel hostingan, yaitu dengan dengan 4 pilihan cara berikut:
1. Menghapus Error Log dengan Kode PHP
Error log dapat dihapus dengan perintah php sederhana yaitu dengan menggunakan kode unlink(“error_log”);. Cara buatnya sederhana saja, bikin file php baru yang kosong misalnya “clog.php”, lalu masukan kode di bawah ini:
<?php unlink("error_log"); echo "error_log sudah dihapus"; ?>
Setelah itu upload file tadi ke tempat (folder) error log sering muncul, dan untuk mulai mendelete error log cukup kunjungi atau buka file php tadi misalnya http://www.blogku.id/clog.php. Cara ini bisa bekerja dan work 100% hanya saja cara kerjanya manual yaitu harus membuka file php tadi setiap kali menghapus error log. Jadi saya sarankan Anda buat bookmark di ponsel.
2. Menghapus Error Log dengan htaccess
Error log juga dapat dihapus melalui htaccess, caranya buka file .htaccess di folder root (folder utama public_html atau htdocs) setelah itu masukan kode ini:
php_flag log_errors off
atau…
php_flag display_errors off
Pilih saja salah satu yang berjalan dengan baik sebab tidak semua web hosting mendukung mematikan error log melalui htaccess terutama webhosting gratisan. Jika server Anda mendukung maka error log tidak akan muncul dan sebaliknya jika servernya tidak mendukung kemungkinan akan menyebabkan “Internal server error” dan kode error 500, jadi hati-hati menggunakan cara ini.
3. Hapus Error Log dengan Cron Job
Cara lain mendelete error log otomatis adalah melalui cron job dari CPanel. Caranya masuk ke CPanel lalu pilih cron job di bagian menu advance, lalu di bagian Common Settings pilih Once a hour. Tujuannya agar perintah penghapusan error_log dilakukan satu jam sekali. Adapun kode perintahnya adalah:
rm -rf /home/nama_akun_hostingmu/public_html/error_log
Jangan lupa untuk mengganti “nama_akun_hostingmu” di atas dengan nama asli akun hosting. Dengan cron job ini kini Anda tidak perlu repot lagi bolak-balik ke hosting untuk sekedar menghapus error log. Namun harap diingat supaya tidak terlalu sering menggunakan cron job, terlebih untuk situs yang sibuk dengan trafik yang banyak. Karena cron job yang terlalu sering dapat menyebabkan server down (artikel mengetahui website down otomatis).
4. Menghapus Error Log Otomatis dengan PHP
Cara terakhir tidak kalah baiknya, bahkan saya anjurkan cara ini. Sebab cara kerja kode php ini adalah me-reset error log menjadi kosong. Jadi seberapa besarpun ukuran error log yang dibuat akan direset kembali menjadi nol. Kelebihan lainnya adalah kode ini tidak menunggu file error_log dibuat karena setiap kali error terjadi maka saat itu pula error log direset. Cara membuatnya, Anda tinggal sisipkan kode di bawah pada file php lainnya misalkan pada file header.php, index.php:
<?php $clean = fopen('error_log', 'w'); fwrite($clean,''); fclose($clean); ?>
Ada sedikit kekurangan mengenai cara hapus error log terakhir, yaitu jika script yang anda gunakan memakai perintah php yang sama yaitu fwrite, flose dan lain-lain. Meskipun begitu kebanyakan CMS populer seperti WordPress dan drupal tidak bermasalah dengan cara menghapus error log terakhir.
5. Delete semua error log dengan script php
Cara kelima adalah cara yang paling efektif dan efisien. Ada sedikit penekanan dari cara kelima ini yaitu “semua” error log. Maksudnya adalah script ini akan mencari semua error log di cpanel, hanya dengan satu langkah. Bahkan detail jumlah error log dan ukurannyapun ditampilkan secara detail. Script ini dibuat oleh Lester “GaMerZ” Chan dan dipublikasikan secara open source, jadi siapa saja bisa memakainya dengan bebas. Silahkan download dulu error_log_cleaner.zip. Untuk cara pakainya sangat mudah, cukup upload file tadi (error_log.php [extracted]) ke root website Anda biasanya di public_html atau htdocs. Setelah itu tinggal buka langsung melalui browser dengan mengetikkan alamat http://situsanda.com/error_log.php. Script akan bekerja untuk mencari semua error log di hosting Anda dan setelah ketemu akan langsung didelete dan ditampilkan hasilnya secara detail.
Selain dengan membuka langsung Anda juga bisa menjadwalkannya secara otomatis melalui cron job. Caranya, di Cpanel (menu advanced) klik menu Cron Job – pada kolom Common Setting pilih jadwal yang Anda kehendaki misalnya “Once a day”. Lalu isikan perintah cron berikut pada kolom Command:
/usr/local/bin/php -f /home/NamaUser/public_html/error_log.php
atau menggunakan curl
/usr/bin/curl -o temp.txt https://www.situsanda.com/error_log.php
Jangan lupa untuk mengganti “NamaUser” dengan nama akun cpanel Anda yang asli. Atau jika menggunakan curl bisa menambahkan temp.txt yang yang berguna seperti log, setiap kali error_log terhapus dari web Anda. Demikian kiranya jelas pemaparan saya. Akhir kata, selamat mencoba dan semoga bermanfaat.
Iya
kebetulan lagi nyari error_log
makasih gan
wah terimakasih untuk artikelnya
If some one wants expert view on the topic of blogging and site-building afterward i suggest him/her to visit
this weblog, Keep up the good job.