"날짜():시스템의 타임존 설정에 의존하는 것은 안전하지 않습니다.."
서버에서 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.php.ini 파일에는 다음과 같은 블록이 있습니다.
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = America/New_York
그렇지 않으면 추가합니다(타임존을 자신의 타임존으로 대체).후 httpdhttpd」)를 재기동해 주세요.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로 애플리케이션을 옮겼을 때 처음 접하게 되었습니다.
의 내 your에서 하는 .index.php
" " 가 "php.ini
filename을 클릭합니다.
if( ! ini_get('date.timezone') )
{
date_default_timezone_set('GMT');
}
<? print(gmdate("Y")); ?>
대신
<? print(date("Y")); ?>
이 에러 메세지가 표시되지 않게 되었습니다.(위의 Chris 덕분에)
이러한 옵션이 아닌 경우
- " " " 중
php.ini
. - " " "
date_default_timezone
discl.discl.discl을 클릭합니다.
date
해도 좋다gmdate
.
사용한 적이 있다gmdate( "Y" )
년 1 、 년 1 、
CodeIgniter를 사용하고 있으며 php.ini를 변경할 수 없는 경우 index.php의 선두에 다음을 추가했습니다.
date_default_timezone_set('GMT');
은 항상 안에 넣어두고 .index.php
date_default_timezone_set('Asia/Dhaka');
@저스티스는 나에게 올바른 방향을 알려줬지만, 그의 코드는 나에게 통하지 않았다.이것은 다음과 같습니다.
// set the default timezone if not set at php.ini
if (!date_default_timezone_get('date.timezone')) {
// insert here the default timezone
date_default_timezone_set('America/New_York');
}
문서: http://www.php.net/manual/en/function.date-default-timezone-get.php
이 솔루션은 완전한 시스템 액세스 권한이 없는 사용자만을 위한 것이 아닙니다.스크립트는 사용자 이외의 다른 사용자에게 제공할 때 필요합니다.스크립트를 다른 사용자에게 배포할 때 스크립트가 어떤 서버에서 실행될지 알 수 없습니다.
createbucket.php 스크립트를 컴포넌트에 삽입하려고 하면 타임존이 잘못되었다는 메시지가 계속 뜨기 때문에 이 문제가 계속 신경이 쓰이고 있습니다.
이 은 오직 과 같은이었다.$ sudo nano /etc/php.ini
시간대 검색
[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = UTC
「」를 .;
그럼 마지막으로
$ sudo service httpd restart
그리고 당신은 가도 좋습니다. :)
나는 그것을 큰따옴표로 묶어야 했다.
date_default_timezone_set("America/Los_Angeles"); // default time zone
할 수 ..htaccess
php_value date.timezone UTC
date.timezone=을 설정하는 것 외에 php.ini 파일에서 date.timezone에 접근할 수 없는 오류가 발견되었습니다.제가 찾은 방법은 단말기의 명령줄에서 php를 실행하는 것이었습니다.이로 인해 114행에서 오류가 보고되었습니다.제 경우, 2개의 값 사이에 '|'가 있는 오류를 표시하는 설정을 수정하지 않았습니다.그것은 그것을 좋아하지 않았다.값 중 하나와 |를 삭제하면 모든 것이 정상입니다.
<? date_default_timezone_set('Europe/Istanbul'); ?>
php(또는 위치)의 경우.
2개의 타임존에 대한 간단한 방법.
<?php
$date = new DateTime("2012-07-05 16:43:21", new DateTimeZone('Europe/Paris'));
date_default_timezone_set('America/New_York');
echo date("Y-m-d h:iA", $date->format('U'));
// 2012-07-05 10:43AM
?>
도커 사용자의 경우: 프로젝트에 로컬 timezone.ini 파일을 만들고 docker-compose.yml로 설정을 합니다.
volumes:
- "./docker/config/timezone.ini:/usr/local/etc/php/conf.d/timezone.ini"
타임 존ini
date.timezone=Australia/Sydney
빠른 은 "비호환성"에서 입니다.index.php
삭제:
아래의 행을 아래의 인덱스에 삽입하십시오.phpdefine( ‘_JEXEC’, 1 );
error_reporting( E_ERROR | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR |
E_COMPILE_WARNING );
EC2 3 S3 、 us - west - 2 ( Oregon ) 。했을 때$s3client->listBuckets()
.- php 에 、 에 、 에 、 에 to to 。"Uncaught exception 'Exception' with message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings...".
저는 그것을 작동시키기 위해 아래와 같이 변경했습니다.누군가 유사한 문제에 직면해 있고 위의 답변 중 하나에 해당하는 경우 이러한 세부 정보를 공유하는 것은 도움이 되지 않습니다.
- AWS의 NTP(Network Time Protocol) 구성 설명서에 기반하여 ntpd 서비스 상태가 정상임을 확인했습니다.
ntpstat
명령어를 입력합니다.에러가 발생했을 경우는, 이 링크를 참조해 주세요. - 파일 파일에는 다른 을 /etc/php.ini 파일(설치된 php 에 따라 다른 경로에 있는 경우도 있음)이 발견되었습니다.
date.timezone
는 어떤 값으로도 설정되어 있지 않으며 디폴트로 코멘트되어 있습니다.행을 ';'로 했습니다."UTC"
파일을 저장했습니다. - "http" "ntp" 를 및 ntp 을 재시작했습니다.
sudo service httpd restart
★★★★★★★★★★★★★★★★★」sudo service ntpd restart
명령어를 지정합니다.
그 후에는 예외 없이 버킷을 나열할 수 있습니다.이게 도움이 됐으면 좋겠다.
Plesk를 사용하는 경우 먼저 PHP 설정을 열고 페이지 하단에서 date.timezone을 DEFAULT에서 UTC로 변경합니다.
chroot 감옥에서 php-fpm을 실행하는 동안 오류가 발생했습니다.chroot 디렉토리에서 etc/php.ini와 /usr/share/zoneinfo를 작성하려고 했지만 작동하지 않았습니다.php-fpm 데몬에 어떤 파일이 없는지 스트레이스 해 보았지만, 아무것도 튀어나오지 않았습니다.
따라서 chroot용으로 설정된 php-fpm을 사용할 때 이 오류가 발생하여 구글이 사용자를 여기로 불러온 경우 이 행을 에 추가하여 수정할 수 있습니다./etc/php-fpm.d/www.conf
를 참조해 주세요.
env[TZ] = America/New_York
활성화하려면 보통 php-fpm 재시작이 필요합니다.이게 누군가 도움이 됐으면 좋겠네요
특히, PHP-FPM(Fast CGI Process Manager)을 사용하도록 PHP를 설정했습니다.실행 시phpinfo()
CLI에서 php.ini에서 설정한 올바른 시간대를 확인했지만 브라우저에서는 여전히 올바르지 않아 코드가 실패합니다.그냥 재기동만 하면 되는 거예요.php-fpm
service server. service on server. server.
service rh-php56-php-fpm restart
, 「 」, 「 」를 경우도 있습니다.httpd
(서비스 시)php.ini
service httpd restart
위의 CtrlX의 답변은 정답이지만 완전히 작동하지 않을 수 있습니다.다음 행을 php.ini 파일에 추가했습니다.
date.timezone = "America/Los_Angeles"
그러나 일부 PHP 스크립트가 하위 폴더에 있기 때문에 모든 파일의 PHP 오류가 제거되지는 않았습니다.따라서 .htaccess 파일을 편집하여 php.ini를 (서브폴더에서) 재귀적으로 사용하도록 설정해야 했습니다.
suphp_configpath /home/account_name/public_html
account_name은 cpanel 계정 이름이고 public_ini는 php.ini 파일이 있는 폴더입니다.
에 수 php.ini
「」를 합니다..htaccess
도메인 또는 서브의 루트에 파일을 저장하고 다음 파일을 추가합니다(cpanel에 의해 생성됨:
<IfModule mime_module>
AddType application/x-httpd-ea-php56 .php .php5 .phtml
</IfModule>
<IfModule php5_module>
php_value date.timezone "America/New_York"
</IfModule>
<IfModule lsapi_module>
php_value date.timezone "America/New_York"
</IfModule>
이 문제를 해결하려면 두 가지 옵션이 있습니다.
먼저 php.ini 파일로 변경하고 기본 시간대를 설정합니다.
date.timezone = "America/New_York"
php.ini에서 시간대를 설정하면 서버가 재시작됩니다.
둘째, 필요에 따라 실행 시간 할당 시간대를 변경합니다.
date_default_timezone_set('America/New_York');
.htaccess 파일에서 다음을 수행하거나 만들었습니다.
php_value date.timezone Asia/Jakarta
하지만 효과가 없어요.그리고 php 버전을 5에서 7로 업그레이드하려고 했습니다.그리고 그것은 문제를 해결했다.
.date_default_timezone_set("Africa/Johannesburg");
현재 위치를 기준으로 합니다.
언급URL : https://stackoverflow.com/questions/16765158/date-it-is-not-safe-to-rely-on-the-systems-timezone-settings
'programing' 카테고리의 다른 글
모든 어레이 항목이 빈 PHP인지 확인하는 중 (0) | 2022.09.22 |
---|---|
HTML 엔티티 디코드 (0) | 2022.09.22 |
MariaDB 서버에 대한 Python Connection은 약 24시간마다 닫힙니다. (0) | 2022.09.22 |
콜백 내에서 올바른 'this'에 액세스하는 방법 (0) | 2022.09.22 |
데이터베이스를 가져올 때 특정 MySQL 테이블을 무시하는 방법 (0) | 2022.09.22 |