Mematikan error log PHP
Ini sebenarnya kasus lama yang saya alami dalam mengelola salah satu VPS milik klien. Jadi secara default kalau dalam proses eksekusi kode – kode PHP terjadi masalah baik akhirnya gagal atau tetap dapat dilanjutkan tapi dengan catatan maka semuanya akan dicatat dalam file error_log
. Apabila terlalu parah maka bisa sangat besar sekali ukuran filenya dalam waktu yang relatif cepat. Rekor yang saya lihat bisa 2GB hanya dalam 1 bulan. 😥
Berikut contoh isi catatan kesalahan PHP yang dibuat secara otomatis:
[07-Oct-2016 06:31:55 Asia/Jakarta] PHP Deprecated: Function eregi_replace() is deprecated in /home/nama_domain/public_html/config/fungsi_autolink.php on line 8
[07-Oct-2016 06:31:55 Asia/Jakarta] PHP Notice: Use of undefined constant tgl - assumed 'tgl' in /home/nama_domain/public_html/templates/nama_situs/comments.php on line 21
Aslinya banyak sekali isinya tapi cuma variasi dari kedua jenis error diatas. Dan yang saya simpulkan itu kode PHP yang digunakan adalah sudah kuno dan perlu diupdate.
Masalahnya klien saya enggan memperbaiki hal tersebut karena memang situsnya dapat digunakan secara normal secara front-end. Repotnya ya kita – kita ini yang mengurus back-endnya. Haha. 😀 Tidak bisa maksa klien sih.
Akhirnya saya putuskan karena log yang dibuat cuma mengganggu saja dan menuh – menuhin disk space server untuk menonaktifkan pembuatannya. Solusinya kita perlu edit php.ini
dan kemudian tambahkan kode dibawah.
error_reporting = off
Atau alternatifnya:
error_reporting = E_ALL & ~E_DEPRECATED
Setelah itu restart proses PHPnya. Ini akan mematikan semua jenis pencatatan error.
Misal anda tidak memiliki akses ke konfigurasi PHP dan ini menggunakan Apache maka bisa memakai file .htaccess
, tinggal sisipkan kode berikut.
php_flag log_errors Off
Selesai. Oh ya, ini klien yang sama untuk masalah yang mirip sebelumnya tapi pada Apache.
Saya sarankan kalau tidak separah yang saya alami maka biarkan saja fitur ini karena akan sangat membantu dalam diagnosa masalah yang terjadi dalam eksekusi script PHP.
lokasi file lognya dimana ya mas chandra?
barusan cek di php.ini defaultnya seperti ini :
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
Kurang lebih sama ya, ketambahan jenis error yang strict juga.
Tergantung settingnya mbak, ada di
php.ini
. Tapi yang saya temukan defaultnya ada di direktori/var/log/
atau pernah juga di dalampublic_html
virtual hostingnya.Cara paling akurat pakai ini melacaknya:
php --info | grep error