我搜索了很多但未找到答案。
我不会有很多PHP FPM池,我希望它像mod_php一样,在nginx中我写道:
fastcgi_param PHP_VALUE "open_basedir = /var/xxx/";
它有效,但是它声明了open_basedir for entiere life of process巫婆已经执行了php脚本(我已经完成了测试)。在phpinfo()
中,open_basedir
值(this)显示为本地值和主值。
我认为如果服务器fastcgi_param
没有安全性,那么为安全性做一个PHP_VALUE
默认值的{}
文件(它肯定永远不会去,但它是安全的原则)重新定义open_basedir
或其他修改后的值(不是很多)。我不喜欢这种明确的覆盖,它很危险,我沉没了。
您知道如何向FPM声明fastcgi_param
总是暂时的吗?像Apache php_admin_value
...... !!!
我没有找到答案,但是因为不存在而太愚蠢!
答案 0 :(得分:2)
您的测试是正确的。 set php_value在fastcgi进程中持久化,直到设置为新值。这可能会干扰其他虚拟主机要求。
php fpm背后的想法是为不同的php值/ ini设置使用不同的池,阅读:不同的虚拟主机& php环境设置。因此,您可能需要为不同的虚拟主机定义新的php-fpm池。
如果您不想定义新池,则需要覆盖为其他虚拟主机设置的所有php_value参数。这很容易出错!