Skip to main content

Cara Mengatasi Error “date(): It is not safe to rely on the system's timezone settings…”

cara mengatasi date it is not safe to rely

Pernahkah Anda mengalami eror seperti yang ada pada judul? Atau malah, Anda baru saja mengalami dan sedang mencari solusi, lalu Anda melihat blog ini di hasil cari, kemudian berlanjut membaca sampai sini?

Pertama, terima kasih penulis ucapkan karena telah berkunjung dan lanjut membaca.

Kedua, penulis sarankan untuk terus baca hingga akhir. Sebab, bisa jadi, menjadi solusi yang Anda cari.

Masalah date(): It is not safe to rely on the system's timezone settings

Pengalaman penulis, eror di atas terjadi saat setelah menginstall PHP di CentOs 6.9 dan mencoba mengakses web simple untuk memastikan PHP sudah berjalan dengan benar.

cara mengatasi date it is not safe to rely

Kalau Anda, bagaimana?
Apakah sama seperti yang penulis alami?

Lalu, bagaimana cara mengatasi eror "date(): It is not safe to rely on the system's timezone settings…"?

Sebelum bahas cara mengatasinya, sepertinya kita perlu tahu dulu apa penyebabnya.


Kenapa bisa terjadi?

Secara default, konfigurasi timezone di PHP pada file php.ini, yakni pada bagian date.timezone, belum tersetting atau masih dalam keadaan kosong atau bahkan dinonaktifkan.

Seperti ini bila konfigurasi timezonenya belum aktif.

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =


Ini kita sebut saja konfig1.

Ternyata, masih ada lagi date.timezone lain di file php.ini. Posisinya, ada di bagian hampir bawah. Dan, kalau dilihat, bagian ini sudah aktif dan secara default, timezonenya mengarah ke Europe/Berlin.

; Local Variables:
; tab-width: 4
; End:
[Syslog]
define_syslog_variables=Off
[Session]
define_syslog_variables=Off
[Date]
date.timezone=Europe/Berlin


Dan ini, kita sebut saja konfig2.

Solusinya adalah..

Ada dua solusi untuk mengatasi eror tersebut. Yang pertama adalah, dengan mengubah konfigurasi timezone pada file php.ini. Atau, menambahkan satu baris kode PHP pada aplikasi PHP Anda.

Mari kita mulai dari cara pertama. Anda masih terus menyimak bukan?
Terima kasih lagi penulis ucapkan.

Cara Pertama: Update Setting Timezone pada File php.ini

Yang harus dilakukan adalah dengan menghapus semicolon atau titik koma (;) yang ada di depan baris kode date.timezone. Setelah dihapus, tambahkan timezonenya setelah tanda sama dengan (=). Misalnya Asia/Jakarta.

Seperti ini.

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Jakarta


Ini Anda lakukan kalau Anda tidak menemukan konfig2 dan hanya ada konfig1. Bila ada konfig2, maka bagian itulah yang perlu diubah timezonenya karena bagian itu secara default sudah aktif.

; Local Variables:
; tab-width: 4
; End:
[Syslog]
define_syslog_variables=Off
[Session]
define_syslog_variables=Off
[Date]
date.timezone=Asia/Jakarta


Simpan perubahan tersebut. Kemudian lakukan restart pada service Apache PHP atau php-fpm bila Anda menggunakan nginx.

Untuk melihat timezone yang lebih lengkap, Anda bisa temukan di halaman http://www.php.net/manual/en/timezones.php.


Cara Kedua: Tambahkan Fungsi PHP date_default_timezone_set di Kodingan

Bila Anda tidak memiliki hak akses untuk mengubah file php.ini, maka cara inilah yang perlu Anda lakukan untuk mengatasi eror demikian.

Anda perlu menambahkan fungsi PHP date_default_timezone_set() di kodingan Anda. Fungsi PHP tersebut akan membuat PHP menentukan timezone default yang hanya digunakan untuk aplikasi tersebut.

Contohnya, date_default_timezone_set("Asia/Jakarta");

Mirip-mirip dengan cara pertama. Untuk melihat daftar timezone apa saja yang dapat menjadi isian, linknya sama seperti yang ada di cara pertama.

Kesimpulannya

Cara pertama, mengharuskan Anda memiliki hak akses untuk mengubah file php.ini. Bila mengubah dari sisi server, maka semua aplikasi juga akan menggunakan timezone yang sama.

Kecuali, bila Anda menambahkan fungsi date_default_timezone_set() di aplikasi, maka timezone itulah yang berlaku.



*
Rujukan: https://stackoverflow.com/questions/16765158/date-it-is-not-safe-to-rely-on-the-systems-timezone-settings
Comment Policy: Silakan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar
Tutup Komentar