Penggunaan fungsi TIMEZON pada PHP

Penggunaan fungsi TIMEZON pada PHP

Niguru.com | Minggu, 1 Nov 2020 | Pada posting sehari sebelumnya, Niguru.com sudah menjelaskan mengenai cara untuk menggunakan fungsi pencuplik waktu pada PHP, dan dalam penjelasan tersebut juga sudah dijelaskan bahwa zona waktu "default" yang ditampilkan PHP adalah GMT +1, yang berbeda dengan di Jakarta yang masuk zona waktu GMT +7.

Selain dengan menggunakan script:

date_default_timezone_set("Benua/Ibukota"), pengaturan waktu bisa juga dilakukan dengan mengedit file konfigurasi.

Dengan konfigurasi yang mencatat zona waktu yang sesuai, maka tidak diperlukan lagi pengaturan zona waktu pada semua aplikasi yang dibuat. 

File konfigurasi pada PHP berupa file dengan nama php.ini. 

Berikut ini cara mengeditnya. Mulai dengan membuka folder XAMPP\php, dimana file tersebut berada:

Penggunaan fungsi TIMEZON pada PHP

 

Buka file dengan Notepad:

Penggunaan fungsi TIMEZON pada PHP

Penggunaan fungsi TIMEZON pada PHP

 

Hasilnya:

Penggunaan fungsi TIMEZON pada PHP

  1. Ketik: timezone, pada kolom pencarian.
  2. Klik Find Next.

Penggunaan fungsi TIMEZON pada PHP

 

Lokasi dimana teks date.timezone berada ditemukan. Klik Cancel:

Penggunaan fungsi TIMEZON pada PHP

 

Edit date.timezone = Europe/Berlin, menjadi date.timezone = Asia/Jakarta:

Penggunaan fungsi TIMEZON pada PHP

  1. Klik tombol close [x].
  2. Klik Yes.

Penggunaan fungsi TIMEZON pada PHP

 

Restart komputer:

Penggunaan fungsi TIMEZON pada PHP

 

SELESAI!
Selanjutnya, tanpa pengaturan tambahan timezone pada aplikasi PHP akan otomatis = Asia/Jakarta.

Demikianlah penjelasan mengenai cara melakukan editing pada file PHP.ini agar zona waktu bisa sesuai untuk semua aplikasi PHP yang dibuat.

Selamat mencoba .. Have a nice day :-)

www.Niguru.com (Nino Guevara Ruwano)

Lokasi:

Ketika saya menggunakan fungsi date() PHP pada dua server yang berbeda, saya mendapatkan dua hasil yang berbeda, tetapi kedua server harus sama.

Saya memeriksa file php.ini pada server # 1, di mana waktunya tepat, dan tampilannya sebagai berikut:

date/time support                   enabled
"Olson" Timezone Database Version   0.system
Timezone Database                   internal
Default timezone                    America/Chicago

Directive        Local Value        Master Value
---------------------------------------------------
date.timezone    America/Chicago    America/Chicago

Saya memeriksa server # 2 dan tampilannya sebagai berikut:

date/time support                   enabled
"Olson" Timezone Database Version   0.system
Timezone Database                   internal
Default timezone                    UTC

Directive        Local Value        Master Value
---------------------------------------------------
date.timezone    America/Chicago    America/Chicago

Satu-satunya perbedaan yang saya lihat adalah nilai "Zona waktu default".

Tanggal/waktu untuk kedua server ditampilkan saat ini sebagai:

Server #1: 10/23/2012 09:40:39
Server #2: 10/23/2012 14:40:39

Saya mengkonfirmasi bahwa kedua server menggunakan php.ini yang terletak di dalam /etc dan saya juga mencari kedua direktori web untuk tempat mana pun yang mungkin ditimpa oleh zona waktu:

grep -r "date_default_timezone_set" *

Namun dalam hal itu, keduanya mengandung file yang sama dengan pengaturan yang sama.

Apakah "Zona waktu default" apa yang menyebabkan perbedaan 5 jam? Jika demikian, bagaimana cara memperbaikinya?

PERBARUI

Memuat file konfigurasi.

Server # 2 berisi dua file ini tambahan:

/etc/php.d/snmp.ini
/etc/php.d/apc.ini

php -i hasil.

Server # 1:

date/time support => enabled
"Olson" Timezone Database Version => 0.system
Timezone Database => internal
Default timezone => America/Chicago

Directive => Local Value => Master Value
date.timezone => America/Chicago => America/Chicago

Server # 2:

date/time support => enabled
"Olson" Timezone Database Version => 0.system
Timezone Database => internal
Default timezone => America/Chicago

Directive => Local Value => Master Value
date.timezone => America/Chicago => America/Chicago

Yang menarik untuk dicatat di sini adalah karena alasan tertentu "Zona waktu default" tidak cocok pada server # 2 saat melihatnya melalui php -i dibandingkan phpinfo() pada halaman web.

SOLUSI

Masalahnya dengan CMS dan plugin-nya. Meskipun server # 1 dan # 2 memiliki file dan segalanya yang sama, tampaknya plugin tidak dimuat dalam urutan yang sama pada setiap server, yang memungkinkan plugin terakhir dimuat untuk menentukan zona waktu skrip saya.

Alasan php -i dan phpinfo berbeda karena setelah Anda menggunakan date_default_timezone_set(), itu mempengaruhi apa yang akan dicetak phpinfo().

Cara mengatasinya adalah memastikan bahwa saya berada di zona waktu yang saya perlukan melalui date_default_timezone_set(). Alasan yang tidak berfungsi untuk saya sebelum saya memposting pertanyaan ini adalah karena saya menyatakan ini sebelum memuat beberapa file yang diperlukan dari CMS, yang mungkin mengatur zona waktu lagi di sana.