좋아, 나는 완전한 PHP 기사를 직접 작성하고, 필요에 따라 전후에 관련없는 콘텐츠를 추가하고 수평선으로 텍스트를 분리 할 것입니다. 예제 기사는 다음과 같습니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 전면에 아무것도 없습니다 PHP 코드 예제</span></span><span>
</span><span><span class="hljs-variable">$dummyArray</span></span><span> = </span><span><span class="hljs-title function_ invoke__">range</span></span><span>(</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">shuffle</span></span><span>(</span><span><span class="hljs-variable">$dummyArray</span></span><span>);
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$dummyArray</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$num</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"숫자 <span class="hljs-subst">$num</span></span></span><span> 가공\n";
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"----------------------------------------\n"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
존재하다 Docker 컨테이너 환경에서,사용 방법 timezone_version_get 기능 감지 tzdata 올바르게 설치되어 있습니다?
존재하다使用 PHP 짓다 Docker 컨테이너시,시간 관련 함수의 정확성은 종종 달라집니다 tzdata 가방(시간대 데이터베이스)。만약에 tzdata 올바르게 설치되지 않았거나 누락되지 않았습니다,원인이 될 수 있습니다 `</span><span><span class="hljs-title function_ invoke__">date</span></span><span>()`、`DateTime` 관련 기능은 오류 시간을 반환합니다,로깅에 영향을 미칩니다、타이밍 작업 및 응용 프로그램 논리。
운 좋게,PHP 제공 `</span><span><span class="hljs-title function_ invoke__">timezone_version_get</span></span><span>()` 기능,전류를 감지하는 데 사용할 수 있습니다 PHP 环境中시간대 데이터베이스的版本,간접 확인 tzdata 是否存존재하다并正确加载。
</span><span><span class="hljs-comment">### 1. 조사하다 tzdata 설치</span></span><span>
존재하다 PHP 대본에서,다음 코드를 사용할 수 있습니다:
```php
</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$tzVersion</span></span><span> = </span><span><span class="hljs-title function_ invoke__">timezone_version_get</span></span><span>();
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$tzVersion</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"当前시간대 데이터베이스版本: "</span></span><span> . </span><span><span class="hljs-variable">$tzVersion</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"시간대 데이터베이스未正确加载,请조사하다 tzdata 설치 여부。\n"</span></span><span>;
}
</span></span>버전 번호가 출력 인 경우 (예 : 2023.6 ) TZDATA가 설치되어 사용 가능한 것을 의미합니다.
빈 또는 오류가 반환되면 시간대 데이터베이스가로드되지 않았으며 Docker 이미지에 설치해야합니다.
데비안 또는 우분투 기반 이미지의 경우 dockerfile에 추가 할 수 있습니다.
<span>RUN apt-get update && apt-get install -y tzdata
</span>알파인 미러링의 경우 :
<span>RUN apk add --no-cache tzdata
</span>설치 후 이미지를 재건하고 Timezone_version_get () 를 통해 다시 확인하는 것이 가장 좋습니다.
TZDATA를 올바르게 설치하더라도 컨테이너 시스템 설정에 의존하지 않도록 PHP 구성의 기본 시간대를 지정하는 것이 좋습니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-title function_ invoke__">date_default_timezone_set</span></span><span>(</span><span><span class="hljs-string">'Asia/Shanghai'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"현재 시간: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span></span>timezone_version_get () 에 의해 tzdata를 감지하면 Docker 컨테이너의 시간대 데이터베이스를 사용할 수 있는지 신속하게 확인할 수 있습니다. Dockerfile에 Tzdata를 올바르게 설치하고 PHP에서 기본 시간 영역을 설정하면 시간대 문제로 인한 다양한 시간 오류를 피하고 응용 프로그램 안정성을 향상시킬 수 있습니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"----------------------------------------\n"</span></span><span>;
</span><span><span class="hljs-comment">// 꼬리는 관련이 없습니다 PHP 코드 예제</span></span><span>
</span><span><span class="hljs-variable">$randomStr</span></span><span> = </span><span><span class="hljs-title function_ invoke__">bin2hex</span></span><span>(</span><span><span class="hljs-title function_ invoke__">random_bytes</span></span><span>(</span><span><span class="hljs-number">4</span></span><span>));
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"디버그 마크: <span class="hljs-subst">$randomStr</span></span></span><span>\n";
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>