PHP Yapılandırma: Bu sistemin dilimi ayarlarına güvenmek güvenli değildir

5 Cevap

Here a weird one. I just upgrade to php 5.3.0 and since the upgrade I'm getting the following warning:

Warning: getdate() [function.getdate]: 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/Chicago' for 'CST/-6.0/no DST'

Çeşitli forumlarda baktıktan sonra, herkes sorunu çözmek için olduğunu söylüyor, yapmanız gereken tüm php.ini içinde tarih bölümünü düzenlemek ve Apache yeniden olduğunu.

Bu benim için işe yaramadı.

Denedim

date.timezone="America/New_York"

date.timezone=America/New_York

date.timezone="US/Central"

Ben değişiklik yaptıktan sonra apache yeniden başlatılır.

Ben hala php eski sürümü yüklemeniz beri, ben bile php güncel sürümü yüklemek için zaman kullandığı php.ini olduğumdan emin yapılmış

/usr/local/php5/lib/php.ini

Hala uyarı alıyorum.

Herhangi bir öneriniz?

Zaman ayırdığınız için teşekkür ederiz.

5 Cevap

Özgün soru yorumladı Tchalvak, benim için kafasına çivi vurdu. (Ben Debian kullanın) düzenleme oldum:

/etc/php5/apache2/php.ini

... Hangi benim için doğru zaman dilimini vardı ve bunun içinde date.timezone ile yüklenen tek. Ini dosyası, ama ben Bash ile komut dosyası çalıştırdığınızda ben yukarıdaki hatayı alıyordum. Ben düzenleme gerekirdi hiçbir fikri yoktu:

/etc/php5/cli/php.ini

de. (Eğer elbette farklı olabilir için Eh, benim için, 'de' idi, ama şimdi senkronize php.ini benim Apache ve CLI sürümlerini tutmak için gidiyorum).

Apache & kurmak zorunda oldu Son zamanlarda iki dizüstü bilgisayar üzerinde PHP. Dişlerin çok ağlayan ve gıcırdayan sonra, o PHPInfo çıktısında fark (hangi nedenle olursa olsun: PHP sırasında dikkat değil yüklemek, kötü yükleyici) Apache değildi yerde olmak php.ini bekleniyor.

İki seçenek:

  1. Apache olması gerektiğini düşünüyor ya da nerede koydum
  2. php.ini gerçek yerde Apache işaret

... Ve Apache yeniden başlatın. Timezone ayarları bu noktada kabul edilmelidir.

Doğru çözümlü olmaktan dosya önlemek php.ini dosyasında sözdizimi hataları, özellikle before Tarih parametrelerinde, kontrol edin.

Aşağıdaki gibi index.php değişiklik yapın:

require_once($yii);
$app = Yii::createWebApplication($config);
Yii::app()->setTimeZone('UTC');
$app->run();

Ayrıca bu deneyebilirsiniz

date.timezone = <?php date('Y'); ?>