Environment variables and PHP
environment-variables, php
Solution
It turns out that you have to explicitly set the ENV vars in the php-fpm.conf
Here's an example:
[global]
pid = /var/run/php5-fpm.pid
error_log = /var/log/php5-fpm.log
[www]
user = www-data
group = www-data
listen = /var/run/php5-fpm.sock
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
chdir = /
env[MY_ENV_VAR_1] = 'value1'
env[MY_ENV_VAR_2] = 'value2'
Problem
I have an ubuntu server with a handful of custom environment variables set in /etc/environment as per the ubuntu community recommendation When I use php from the command line I can use php's `getenv()` function to access this variables. Also, if I run `phpinfo()` from the command line I see all of my variables in the ENVIRONMENT section. However, when trying to access the same data inside processes being run by php5-fpm this data is not available. All I can see in the ENVIRONMENT section of `phpinfo()` is: ``` USER www-data HOME /var/www ``` I know the command line uses this ini: ``` /etc/php5/cli/php.ini ``` And fpm uses: ``` /etc/php5/fpm/php.ini ``` I've not managed to find any differences between the two that would explain why the ENV variables are not coming through in both. Also if run: ``` sudo su www-data ``` and then echo the environment variables I am expecting they are indeed available to the www-data user. What do I need to do to get my environment variables into the php processes run by fpm?