主管不使用/ etc / environment

1 php environment getenv supervisord

我在PHP中有一个脚本,可使用getenv打印在/ etc / environment中设置的环境变量。

当我手动执行它时,它工作正常,但是当主管执行时,它不起作用。

我不想手动将此环境变量放在超级用户conf文件中,而是希望它正确读取/ etc / environment。

有什么帮助吗?提前致谢

小智 10

如主管配置文件文档中所述: 主管配置文档 在本节环境中:

注意,子进程将继承用于启动“ supervisord”的外壳程序的环境变量,但此处覆盖的变量除外。

我认为您开始使用systemd进行监督。在这种情况下,您可以检查您的supervisord.service,并在“服务”部分中添加:

EnvironmentFile=/etc/environment
Run Code Online (Sandbox Code Playgroud)

在执行systemctl守护进程重载和systemctl重新启动后,我认为它应该可以工作

您可以使用以下命令检查您的supervisord.service文件在哪里:

 systemctl status docker
 docker.service - Docker Application Container Engine
    Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Run Code Online (Sandbox Code Playgroud)

我之所以使用docker是因为我没有在开发机器中安装超级用户,但这是相同的