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가 어디에도 없을 것이라고 예상했습니다.
두 가지 선택 :
- 아파치가 생각하는 곳에 두거나
- 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'); ?>
'Programing' 카테고리의 다른 글
클라이언트가 서명 할 수있는 iOS 릴리스 빌드를 어떻게 생성합니까? (0) | 2020.11.22 |
---|---|
Java 8에서 "기능적 인터페이스"의 정확한 정의 (0) | 2020.11.22 |
제네릭으로 인터페이스를 구현하는 Java 추상 클래스 (0) | 2020.11.22 |
NaN ^ 0 == 1 인 이유 (0) | 2020.11.22 |
Entity Framework 6.0의 ORM 엔터티 대 도메인 엔터티 (0) | 2020.11.22 |