get_env()가 내 부울 환경 변수를 문자열로 취급하는 이유는 무엇입니까?
Wordpress 인스턴스를 4.5에서 4.8로 업그레이드했는데, 어떤 이유에서인지 부울 환경 변수가 이제는 false가 아닌 false 문자열로 돌아옵니다.false
. 제 PHP 버전이 바뀌지 않았기 때문에, 저는 그 변화에 조금 혼란스럽습니다.하지만 앞으로 더 중요한 것은 환경 변수를 통해 부울런을 PHP로 전환하는 것을 관리하는 가장 좋은 방법이 무엇일까요?
여기 .env 라인이 있습니다.
WP_FORCE_SSL_ADMIN=false
여기 제 wp-config에 있던 줄이 있습니다.돌아오는 phptrue
문자열 변환으로 인해
define('FORCE_SSL_ADMIN', getenv('WP_FORCE_SSL_ADMIN'));
var_dump:
["WP_FORCE_SSL_ADMIN"]=>
string(5) "false"
문자열 변환을 설명하기 위해 단순히 정의를 재분류할 수 있다는 것은 알지만, 아무것도 하지 말아야 할 때 무엇이 바뀌었는지 이해하지 못하는 것이 신경 쓰여요.이것은 워드프레스 버전 4.5에서 잘 작동했습니다.
내 환경에서 PHP로 부울 바를 전달하는 가장 좋은 방법을 설명하기 위해 답을 찾고 있습니다. 아니면 항상 문자열 변환을 설명해야 합니까?
내가 어떻게 풀었는지 누군가가 답을 찾으러 이곳에 올 경우를 대비해 내가 한 일은 단순히 '참'이라는 끈에 비유하는 것이었습니다.
define('FORCE_SSL_ADMIN', strtolower(getenv('WP_FORCE_SSL_ADMIN')) === "true");
이것은 효과가 있지만, 아직도 제가 뭔가를 놓치고 있는 것처럼 제게 제대로 느껴지지는 않습니다.
저도 같은 문제가 있었습니다.하지만 다음과 같이 작동했습니다.
$isDebug = filter_var($_ENV['DEBUG']??false, FILTER_VALIDATE_BOOLEAN);
//OR
$isDebug = filter_var(getenv('DEBUG')??false, FILTER_VALIDATE_BOOLEAN);
언급URL : https://stackoverflow.com/questions/46181186/why-is-get-env-treating-my-boolean-environment-variable-as-a-string
'programing' 카테고리의 다른 글
XPath contains()를 여기서 사용하는 방법? (0) | 2023.09.15 |
---|---|
모든 jQuery AJAX 요청에 사용자 지정 http 헤더 추가 (0) | 2023.09.15 |
jQuery가 있는 HTML 게시물로 iframe 대상 지정 (0) | 2023.09.15 |
일반 날짜를 unix 타임스탬프로 변환 (0) | 2023.09.15 |
캔클리어inside setIntervalIntervalIntervalIntervalIntervalIntervalIntervalInterval()? (0) | 2023.09.15 |