Programing

PHP 구성 : 시스템의 시간대 설정에 의존하는 것은 안전하지 않습니다.

lottogame 2020. 11. 22. 18:49
반응형

PHP 구성 : 시스템의 시간대 설정에 의존하는 것은 안전하지 않습니다.


여기 이상한 것이 있습니다. 방금 php 5.3.0으로 업그레이드하고 업그레이드 이후 다음과 같은 경고가 표시됩니다.

경고 : getdate () [function.getdate] : 시스템의 시간대 설정에 의존하는 것은 안전하지 않습니다. 당신은있다 필요한 date.timezone 설정 또는 date_default_timezone_set () 함수를 사용 할 수 있습니다. 이러한 방법 중 하나를 사용했지만 여전히이 경고가 표시되는 경우 시간대 식별자를 잘못 입력했을 가능성이 큽니다. 'CST / -6.0 / no DST'로 '미국 / 시카고'를 선택했습니다.

다양한 포럼을 살펴본 후 모든 사람들은 문제를 해결하기 위해 php.ini에서 날짜 영역을 편집하고 Apache를 다시 시작하기 만하면된다고 말합니다.

그것은 나를 위해 작동하지 않았습니다.

나는 시도했다

date.timezone="America/New_York"

date.timezone=America/New_York

date.timezone="US/Central"

변경 한 후 아파치를 다시 시작했습니다.

여전히 이전 버전의 PHP 설치를 가지고 있기 때문에 현재 버전의 PHP가로드 할 때 사용하는 php.ini를 편집하고 있는지 확인했습니다.

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

여전히 경고를 받고 있습니다.

어떤 제안?

시간을 내 주셔서 감사합니다.


원래 질문에 대해 언급 한 Tchalvak은 나를 위해 머리에 못을 박았다. 편집 중입니다 (데비안 사용) :

/etc/php5/apache2/php.ini

... 나에게 올바른 시간대가 있고 그 안에 date.timezone이로드 된 유일한 .ini 파일 이었지만 Bash를 통해 스크립트를 실행할 때 위의 오류가 발생했습니다. 나는 내가 편집해야한다는 것을 전혀 몰랐다.

/etc/php5/cli/php.ini

게다가. (글쎄, 나에게는 '그렇다'. 물론 다를 수 있지만 지금은 php.ini의 Apache 및 CLI 버전을 동기화 상태로 유지하겠습니다).


func로 시간대 설정을 시도 했습니까 : http://pl.php.net/manual/en/function.date-default-timezone-set.php


최근에 노트북 두 대에 Apache와 PHP를 설치해야했습니다. 많은 울음 소리와이를 갈고 닦은 후, 나는 phpinfo의 출력에서 ​​(어떤 이유로 든 : PHP 설치 중에주의를 기울이지 않고, 잘못된 설치 프로그램) 아파치는 php.ini가 어디에도 없을 것이라고 예상했습니다.

두 가지 선택 :

  1. 아파치가 생각하는 곳에 두거나
  2. php.ini의 실제 위치에서 Apache를 가리 킵니다.

... Apache를 다시 시작하십시오. 그 시점에서 시간대 설정이 인식되어야합니다.


.htaccess 파일을 열고 다음 행을 파일에 추가하고 저장 한 후 다시 시도하십시오.

php_value date.timezone "America/Sao_Paulo"

이것은 나를 위해 작동합니다.


이것을 시도, 그것은 나를 위해 작동합니다.

date_default_timezone_set('America/New_York');

불평했던 실제 파일에서.


php.ini 파일에서 특히 Date 매개 변수 앞에 있는 구문 오류를 확인 하여 파일이 올바르게 구문 분석되지 않도록합니다.


index.php를 다음과 같이 수정하십시오 :

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

분명히 나는이 질문에 대해 약간의 계절이 아니지만 다음 환자의 이익을 위해 : 방금이 문제가 있었고 (성공하지 않고 똑같이 시도한 OP와 달리) 수정은 php.ini를 수정하는 것이 었습니다. , 바꾸다

date.timezone = America/New York

...에

date.timezone = America/New_York

그것은 밑줄을 추가하는 것입니다.


/etc/php.ini를 수정했습니다.

[데이트] ; 날짜 함수에서 사용하는 기본 시간대를 정의합니다. http://php.net/date.timezone date.timezone = ( 'Asia / kolkata')

이제 잘 작동합니다.

Vipin Pal


You may have forgot to remove the semicolon to uncomment that line. For the date.timezone = "US/Central" line, be sure that there's no semicolon in front of that line.


I found, bizarrely, that I could fix the errors by placing the timezone declaration at the TOP of my php.ini file.

It was already in my php.ini. Twice, actually. And I was pulling my hair out because everyone was saying there must be another ini being loaded... There wasn't.

Hope this can save someone else the time/hair loss.


also you can try this

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

참고URL : https://stackoverflow.com/questions/2213608/php-configuration-it-is-not-safe-to-rely-on-the-systems-timezone-settings

반응형