[php] “date () : 시스템의 시간대 설정에 의존하는 것은 안전하지 않습니다…”

서버에서 PHP 버전을 5.2.17에서 PHP 5.3.21 로 업데이트하도록 요청했을 때이 오류가 발생했습니다 .

<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파일 의 구성 줄에 넣어야 할 수도 있습니다. php.ini 파일에 다음과 같은 블록이 있어야합니다.

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

그렇지 않은 경우 시간대를 대체하여 추가하십시오. 구성 후 httpd ( service httpd restart) 를 다시 시작하십시오 .

지원되는 시간대 목록은 다음과 같습니다 .


답변

php.ini 설정을 변경할 수 없다면, 코드 시작 부분에 다음 코드를 사용하십시오 :

date_default_timezone_set('Africa/Lagos');//or change to whatever timezone you want

시간대 목록은 http://www.php.net/manual/en/timezones.php에 있습니다.


답변

index.php파일에 다음을 추가 하십시오. XAMPP 서버에서 Apache 2.2 및 PHP 5.4 로 응용 프로그램을 옮길 때 처음 으로이 문제가 발생했습니다 …

index.php파일 대신 파일 에서 수행하는 것이 좋습니다 php.ini.

if( ! ini_get('date.timezone') )
{
    date_default_timezone_set('GMT');
}


답변

<? print(gmdate("Y")); ?> 

대신에

<? print(date("Y")); ?>

나를 위해 일했다 (현재 연도를 표시하고 더 이상 오류 메시지를 표시하지 않음). (위의 Chris에게 감사합니다)


답변

이것들이 당신의 선택이 아닌 경우

  • 수정 php.ini.
  • date_default_timezone전화 추가 .

대신을 date사용할 수 있습니다 gmdate.

1 gmdate( "Y" )년 동안 저작권을 침해 받았을 때 사용 했습니다.


답변

CodeIgniter를 사용하고 있고 php.ini를 변경할 수없는 경우 index.php의 시작 부분에 다음을 추가했습니다.

date_default_timezone_set('GMT');


답변

나는 항상이 줄을 codeigniter의 루트 안에 유지합니다. index.php그래서 내 코드는 모든 서버에서 작동합니다

date_default_timezone_set('Asia/Dhaka');

지원되는 시간대 목록은 여기