2011-07-17 6 views
3

많은 검색을했지만 대답을 찾을 수 없습니다.nginx php로 임시 값 (지역 값) FPM

내가 PHP FPM의 풀을 많이 가지고되지 않습니다

, 난이 방법 mod_php처럼되고 싶어하고, nginx를에 내가 쓴 :

fastcgi_param PHP_VALUE "open_basedir = /var/xxx/"; 

그것은 작동하지만, entiere 삶에 대한의 open_basedir을 선언 프로세스 마녀의 PHP 스크립트 (나는 테스트를 마쳤습니다)를 실행했습니다. phpinfo()에는 open_basedir 값 (this)이 로컬 값과 마스터 값으로 나타납니다. 내가 생각

는 보안을 위해 PHP_VALUE 기본 값으로 fastcgi_param 파일을 (예를 들어, 그것은 확실히 가지 않을 것이다, 그러나 보안의 프린의) 서버 {} 수정 한 open_basedir 또는 다른 값을 재정의하지 않은 경우 (안 많은). 나는이 결정적인 무시를 싫어한다, 위험하다, 나는 가라 앉는다.

fastcgi_param은 항상 임시라고 FPM에 선언하는 방법을 알고 있습니까? 아파치처럼 php_admin_value ... !!!

나는 대답을 찾지 못했지만, 존재하지 않는다면 너무 어리 석다!

+0

죄송합니다. 견적 기능을 사용하지 않았습니다. Francois Deschenes에게 감사드립니다. – RelTive

+0

fastcgi.conf를 nginx.conf에서 fastcgi_param을 다시 정의하는 위치에 포함 할 수 있습니다. 그리고 둘 다 위의 fastcgi_pass. – Oroboros102

답변

2

테스트가 맞습니다. set php_value는 새로운 값으로 설정 될 때까지 fastcgi 프로세스에서 지속됩니다. 이는 다른 가상 호스트 요구 사항을 방해 할 수 있습니다.

PHP phpm의 아이디어는 다른 PHP 값/ini 설정에 대해 다른 풀을 사용하는 것입니다 : 다른 가상 호스트 & PHP 환경 설정. 따라서 서로 다른 가상 호스트에 대해 새로운 php-fpm 풀을 정의해야 할 것입니다.

새 풀을 정의하지 않으려면 다른 가상 호스트에 설정된 모든 php_value 매개 변수를 덮어 써야합니다. 그것은 오류가 발생하기 쉽습니다!