PHP 외부에서 액세스 할 수있는 변수를 설정하려고합니다. 이상적으로 이것은 로컬 변수 여야하지만 환경 변수도 환영합니다.PHP에서 변수를 쉘로 내보냄
첫째, putenv()
을 시도했다, 그러나 이것은 어떤 결과를 제공하지 않습니다 : -r
$ PHP는 "하는 putenv ('PHP_TEST = 문자열');" ; 에코 $ PHP_TEST
$
난 같은 스크립트에서 getenv()
전화 - 그것은 바로 '문자열'값을 초래한다. 안전 모드가 꺼져 있지만, 매뉴얼 'PHP_'접두사 그래서 난 단지의 경우 :)에서 사용에 = 안전에 매우 중요하다 말한다
system()
또는
shell_exec()
시도
:
$ PHP는 -r "shell_exec ('PHP_TEST = string');" ; echo $ PHP_TEST
$ php -r "shell_exec ('export PHP_TEST = string');" ; 에코 $ PHP_TEST
$
는 해결 방법이 있습니까? 이유가 무엇일까요? 저는 우분투 리눅스 9.10 "Karmic"을 사용하고 있지만, FreeBSD 서버는 동일한 결과를 제공합니다.
감사합니다. 그것은 질문을 분명하게 만듭니다. 그렇다면'getopt' (그리고 다른 비 내장 프로그램들)이 변수들을 외부 문맥으로 어떻게 export 할 수 있는가? (예 :'getopt'는'$ OPTIND'를 내 보낸다) – kolypto
외부의'/ usr/bin/getopt'는 혼란 스럽지만'getopts'라는 내장 함수로 그렇게 할 수 없다. –