Ubuntu 16.04 +主管+ Nginx + PHP-FPM 7.2:无法使环境变量正常工作

时间:2018-09-05 14:25:27

标签: php nginx environment supervisord fpm

我正在为此扯头发,但我可能错过了一些显而易见的事情。我的问题是我无法通过FPM在/ etc / environment中设置环境变量。这就是我所拥有的:

主管配置

[program:nginx]
command=/usr/sbin/nginx
stdout_logfile=/var/log/supervisor/program_supervise_nginx.log
stderr_logfile=/var/log/supervisor/program_supervise_nginx.error
priority=100
user=root
autostart=true
autorestart=true
EnvironmentFile=/etc/environment


[program:fpm]
command=/usr/sbin/php-fpm7.2 --nodaemonize -c /etc/php/7.2/fpm/php-fpm.conf
user=root
autostart=true
autorestart=true
priority=5
stdout_events_enabled=true
stderr_events_enabled=true
EnvironmentFile=/etc/environment

FPM池配置

[domain]
...
clear_env = no
...

php.ini(/etc/php/7.2/fpm/php.ini)

...
variables_order = "EGPCS"
...

我可以直接在池配置中设置环境变量,这可以通过FPM(例如如果我的fpm池中有此配置-

[domain]
...
clear_env = no
env[FOO] = bar
...
  • 然后我可以通过FPM使用getenv [“ FOO”]访问“ FOO”。

我根本无法在/ etc / environment中加载该问题。

我看到其他帖子提到必须在nginx中明确包含我的环境变量作为fast_cgi参数,但是,考虑到FPM的主管配置明确设置了环境,我希望避免执行此步骤(当然-避免在两个地方重复设置vars)

有人有任何想法!?非常感谢您的协助。

0 个答案:

没有答案