Saya mendapatkan kesalahan ini ketika saya diminta untuk memperbarui versi PHP dari 5.2.17 ke PHP 5.3.21 di server.
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<h4>A PHP Error was encountered</h4>
<p>Severity: Warning</p>
<p>Message: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/New_York' for 'EDT/-4.0/DST' instead</p>
<p>Filename: libraries/Log.php</p>
<p>Line Number: 86</p>
</div>
Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/New_York' for 'EDT/-4.0/DST' instead in /filelocation right here/system/libraries/Log.php on line 86
Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/New_York' for 'EDT/-4.0/DST' instead in /filelocation right here/system/libraries/Log.php on line 99
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<h4>A PHP Error was encountered</h4>
<p>Severity: Warning</p>
<p>Message: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/New_York' for 'EDT/-4.0/DST' instead</p>
<p>Filename: libraries/Log.php</p>
<p>Line Number: 99</p>
</div>
php.ini
digunakan oleh apache, jalankan saja perintah berikutphp -i | grep php.ini
.Jika Anda tidak dapat mengubah konfigurasi php.ini, Anda juga dapat menggunakan cuplikan berikut di awal kode Anda:
Daftar zona waktu dapat ditemukan di http://www.php.net/manual/en/timezones.php .
sumber
Tambahkan berikut ini di
index.php
file Anda . Saya pertama kali menemukan ini ketika saya memindahkan aplikasi dari XAMPP saya server ke Apache 2.2 dan PHP 5.4 ...Saya akan menyarankan Anda melakukannya di
index.php
file Anda, bukanphp.ini
file.sumber
dari pada
bekerja untuk saya (menunjukkan tahun ini dan tidak lagi menunjukkan pesan kesalahan). (Terima kasih kepada Chris di atas)
sumber
Jika ini bukan pilihan Anda
php.ini
.date_default_timezone
panggilan.Alih-alih
date
Anda bisa menggunakangmdate
.Saya telah menggunakan
gmdate( "Y" )
ketika saya membutuhkan satu tahun untuk snipplet hak cipta.sumber
Jika Anda menggunakan CodeIgniter dan tidak dapat mengubah php.ini, saya menambahkan yang berikut ini ke awal index.php:
sumber
Saya selalu menjaga baris ini di dalam root codeigniter
index.php
. Jadi kode saya berfungsi di server mana punDaftar Zona Waktu yang Didukung di sini
sumber
@ Juris menunjuk saya ke arah yang benar, tetapi kodenya tidak bekerja untuk saya. Ini berhasil:
Dokumentasi: http://www.php.net/manual/en/function.date-default-timezone-get.php
Solusi ini tidak hanya untuk mereka yang tidak memiliki akses sistem penuh. Ini diperlukan untuk skrip apa pun ketika Anda memberikannya kepada orang lain selain Anda. Anda tidak pernah tahu di server apa skrip akan berjalan ketika Anda mendistribusikannya ke orang lain.
sumber
Masalah ini telah mengganggu saya selama BEBERAPA waktu karena saya mencoba menyuntikkan skrip "createbucket.php" ke komposer dan saya terus diberi tahu zona waktu saya salah.
Pada akhirnya satu-satunya hal yang memperbaiki masalah ini adalah:
$ sudo nano /etc/php.ini
Cari zona waktu
Pastikan Anda menghapus
;
Lalu akhirnya
Dan Anda akan baik-baik saja :)
sumber
Saya harus menuliskannya dalam tanda kutip ganda.
sumber
/etc/php.ini: date.timezone = America/Los_Angeles
Anda dapat mengatur zona waktu di
.htaccess
file Andasumber
Selain mengatur date.timezone = sebagaimana disebutkan dalam beberapa jawaban, saya menemukan kesalahan dalam file php.ini yang membuatnya tidak sampai ke date.timezone. Cara saya menemukannya adalah dengan menjalankan php dari baris perintah di terminal. ini menyebabkan kesalahan dilaporkan pada baris 114. Dalam kasus saya, saya telah membatalkan pengaturan untuk menampilkan kesalahan yang memiliki '|' antara 2 nilai. Itu tidak suka. Saya menghapus salah satu nilai dan | dan semuanya baik setelah itu
sumber
Metode sederhana untuk dua zona waktu.
sumber
Untuk php (atau lokasi Anda).
sumber
Solusi cepat saat Anda memperbaiki ketidakcocokan, adalah menonaktifkan pelaporan kesalahan dalam
index.php
file Anda :Masukkan baris di bawah ini ke index.php Anda di bawah ini
define( ‘_JEXEC’, 1 );
sumber
Saya hosting ember EC2 dan S3 di wilayah us-west-2 (Oregon). Ketika saya menelepon
$s3client->listBuckets()
untuk mendaftar ember yang ada di php saya, saya mendapatkan pengecualian -"Uncaught exception 'Exception' with message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings...".
saya membuat perubahan di bawah ini untuk membuatnya berfungsi. Membagikan detail ini seandainya seseorang menghadapi masalah yang sama dan salah satu jawaban di atas tidak membantu.ntpstat
perintah. Jika Anda mendapatkan kesalahan, tautan ini membantu Anda mengetahui apa yang salah.date.timezone
tidak disetel ke nilai apa pun dan juga dikomentari secara default. Saya membatalkan komentar dengan menghapus ';' sebelum baris ini dan atur nilainya ke"UTC"
dan simpan file.sudo service httpd restart
dansudo service ntpd restart
perintah.Setelah ini, saya dapat membuat daftar ember dengan sukses tanpa kecuali. Semoga ini membantu.
sumber
Jika Anda menggunakan Plesk, cobalah, Pertama, Buka Pengaturan PHP, di bagian bawah halaman, ubah date.timezone dari DEFAULT ke UTC.
sumber
Saya mengalami kesalahan ini menjalankan php-fpm di penjara chroot. Saya mencoba membuat etc / php.ini dan / usr / share / zoneinfo di direktori chroot, tetapi tidak berhasil. Saya bahkan mencoba strace-ing daemon php-fpm untuk melihat file apa yang hilang - tidak ada yang keluar.
Jadi jika Google membawa Anda ke sini karena Anda mendapatkan kesalahan ini saat menggunakan php-fpm yang dikonfigurasi untuk chroot, Anda mungkin dapat memperbaikinya dengan menambahkan baris ini ke
/etc/php-fpm.d/www.conf
dalam bagian ENV:Restart php-fpm biasanya diperlukan untuk mulai berlaku. Semoga ini bisa membantu seseorang di luar sana.
sumber
Dalam kasus khusus saya, saya memiliki PHP yang dikonfigurasi untuk menggunakan PHP-FPM (FastCGI Process Manager). Ketika mengeksekusi
phpinfo()
dari CLI saya melihat zona waktu yang benar yang telah saya atur di php.ini, namun itu masih salah di browser dan menyebabkan kode saya gagal. Saya hanya perlu me-restartphp-fpm
layanan di server.Anda mungkin juga perlu memulai kembali
httpd
layanan jika Anda mengeditphp.ini
sumber
Jawaban di atas dari CtrlX ini adalah jawaban yang benar, tetapi mungkin tidak berfungsi sepenuhnya. Saya menambahkan baris ini ke file php.ini saya :
tetapi itu tidak menghapus kesalahan PHP untuk semua file saya karena beberapa skrip PHP saya ada di subfolder. Jadi saya harus mengedit file .htaccess untuk mengatur php.ini untuk digunakan secara rekursif (dalam subfolder):
di mana account_name adalah nama akun cpanel Anda dan public_html adalah folder tempat file php.ini Anda berada.
sumber
Untuk pengguna buruh pelabuhan: Buat file timezone.ini lokal di proyek Anda, atur konfigurasi di docker-compose.yml,
timezone.ini
sumber
Jika Anda tidak memiliki akses ke file
php.ini
, buat atau edit.htaccess
file di root domain atau sub Anda dan tambahkan ini (dihasilkan oleh cpanel):sumber
Ada dua opsi untuk menyelesaikan ini
Pertama, ubah ke file php.ini dan masukkan zona waktu default
Setelah, Anda telah mengatur zona waktu di php.ini restart server
Kedua, Ubah zona waktu tetapkan jangka waktu berdasarkan kebutuhan Anda
sumber
Di halaman koneksi Anda, letakkan kode seperti ini
date_default_timezone_set("Africa/Johannesburg");
berdasarkan lokasi Anda saat ini.sumber