根据ubuntu社区推荐,我有一个ubuntu服务器,在/ etc/environment中设置了一些自定义环境
当我从命令行使用php时,我可以使用php的getenv()函数来访问这些变量.
另外,如果我从命令行运行phpinfo(),我会看到环境部分中的所有变量.
然而:
当尝试访问由php5-fpm运行的进程内的相同数据时,此数据不可用.我在环境部分看到的phpinfo()只有:
USER www-data
HOME /var/www
Run Code Online (Sandbox Code Playgroud)
我知道命令行使用这个ini:
/etc/php5/cli/php.ini
Run Code Online (Sandbox Code Playgroud)
fpm使用:
/etc/php5/fpm/php.ini
Run Code Online (Sandbox Code Playgroud)
我没有设法找到两者之间的任何差异,这可以解释为什么ENV变量都没有通过.
如果运行:
sudo su www-data
Run Code Online (Sandbox Code Playgroud)
然后回应环境变量我期望它们确实可供www-data用户使用.
我需要做什么才能将我的环境变量放入由fpm运行的php进程中?
在apache环境中setenv的等价物是什么?使用apache,我可以设置env"SOMEENV"并通过$ _ENV ['SOMEENV']在php中访问它 - 但我不知道如何使用nginx + php-fpm.
我最初认为我只需要在我的php-fpm池的配置中设置ENV [SOMENEV] = test,但是var_dump($ _ ENV)仍然没有返回任何内容.
任何提示?