[英]What is the purpose of the php-fpm system environment variables?
我已经在 1 个 VM (centos7) 中进行了设置:
对于这项任务,我遵循了本指南(当然,我必须更改一些设置才能使其在我的环境中工作)
在指南的某些地方,我不得不在 php-fpm /etc/php-fpm.d/www.conf
的配置文件中取消注释这些行
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
在指南中,据说这些是php-fpm系统环境变量。 我不得不取消注释它们才能激活它们。
我对这些变量一无所知,但我知道它们将我的系统的一些信息作为值。
另外,我不得不说我的 nextcloud 在没有注释这些变量的情况下工作没有错误。 但只是为了测试,我再次评论了这些行,nextcloud 继续像往常一样工作。
所以我想学习但目前我无法理解的是:
为什么指南说需要这些变量? 在nginx和php-fpm的通信过程中,这些变量如果被激活,有什么作用呢?
为什么指南说需要这些变量?
因为它对文章来说有点垃圾,无关紧要。
这些变量的作用是什么
我猜,主要用途是为特定 PHP-FPM 池传递一个具有不同值的环境变量。 例如,您已经在/usr/local/bin/foo
下安装了一些 CLI 工具(例如在图像格式之间进行转换)。 然后你想让你的网站能够启动它。 它不能,除非它可以在PATH
环境变量中找到它(默认情况下不包括/usr/local/bin
。
所以你有两个选择:
更改 PHP-FPM 用户的PATH
(在池设置中定义),例如在~/.bashrc
env[PATH] = /usr/local/bin:/usr/bin:/bin
所以这只是实现相同目标的方法之一。
如果激活,在nginx和php-fpm的通信过程中?
不,这与 NGINX->PHP-FPM 无关。 这就是 PHP-FPM 将如何运行其工作进程(在哪个环境下),因此它会影响 PHP 脚本将如何/哪个环境看到。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.