PHP CLI $_SERVER에 값 추가

PHP CLI $_SERVER에 값 추가

Nginx를 통해 $_SERVER 변수에 사용자 정의 값을 추가할 수 있다는 것을 알고 있습니다.

fastcgi_param MY_VARIABLE "myValue";

PHP CLI $_SERVER에 동일한 변수를 추가할 수 있습니까? 이는 cron 작업에 특별히 사용됩니다. 우분투 서버를 사용하고 있습니다.

내가 찾은 한 가지 옵션은 다음과 같은 PHP 스크립트를 호출하는 것입니다.

$ MY_VARIABLE="myValue" php /path/to/php/script

그러나 이것은 이상적이지 않은 것 같습니다.

기본적으로 환경 변수는 PHP로 전송되지 않으며 제가 이해하는 바에 따르면 그렇게 하면 작업 속도가 약간 느려집니다. 가능하다면 이런 일은 피하고 싶습니다.

답변1

내가 찾은 가장 좋은 해결책은 변수를 /etc/environment에 넣는 것입니다. 이 설정은 cron 작업 및 CLI에 의해 로드되고 PHP $_SERVER에 표시됩니다.

기본적으로 /etc/environment에는 PATH에 대한 한 줄이 있습니다. 파일 끝에 새 줄을 추가하기만 하면 됩니다.

PATH="/usr/local/sbin: ... "
MY_VARIABLE="myValue"

참고로 PATH 설정은 $_SERVER에 표시된 것처럼 PHP가 이 파일을 덮어쓴 것으로 보입니다.

PHP 웹 서비스는 변수를 표시하지 않지만 Nginx 구성에 변수를 추가하는 것은 충분히 쉽습니다.

관련 정보