2011-07-17 77 views
3

我搜索了很多,但沒有找到答案。nginx php FPM的臨時值(本地值)

我不會有很多PHP FPM池的,我希望它像mod_php,並且和nginx的我寫道:

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

它的工作原理,但它聲明的open_basedir的entiere生活過程女巫有執行PHP腳本(我已經完成測試)。在phpinfo()中,open_basedir值(this)同時出現本地值和主值。

我覺得做一個fastcgi_param文件與安全PHP_VALUE默認值,例如(一定會永遠去的,但它是安全的聖多美和普林西比)如果服務器{}沒有重新修改open_basedir或其他值(不是很多)。我不喜歡這種明確的覆蓋,這是危險的,我下沉。

您是否知道如何向FPM申報fastcgi_param總是暫時的?像Apache php_admin_value ... !!!

我還沒有找到答案,但它太愚蠢,不存在!

+0

抱歉沒有使用報價功能。感謝Francois Deschenes。 – RelTive

+0

您可以嘗試將fastcgi.conf包含在nginx.conf中的位置之上,該位置重新定義了fastcgi_param。並且都在fastcgi_pass上面。 – Oroboros102

回答

2

您的測試是正確的。設置的php_value在fastcgi進程中是持久的,直到設置爲新值。這可能會干擾其他虛擬主機的要求。

php fpm背後的想法是針對不同的php值/ ini設置使用不同的池,讀取:不同的虛擬主機& php環境設置。所以你可能需要爲不同的虛擬主機定義新的php-fpm池。

如果您不想定義新池,則需要覆蓋爲其他虛擬主機設置的所有php_value參數。這很容易出錯!