I am trying to access an system variable within my Laravel 4 project. Similar to using ENV[\'VARIABLE_NAME\'] to access a system variable in an RoR project.
It looks like an nginx related problem, nginx passes parameters to PHP through fastcgi_param directives, so, you have to set it up, just add one you need where you set up other params, this is an example (Setting up FastCGI Variables)
; /etc/nginx/fastcgi_params
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
Check How nginx processes a request and this answer (this one too) as well. I can access any environment variable from PHP on Apache. Hope this helps but can't be more specific.
After fighting with this for much longer than necessary, the proper approach is to use the php5-fpm www.conf file in the pool.d directory of your php5-fpm install. For me this was at /etc/php5/fpm/pool.d/www.conf.
In www.conf there is a specific section of the file that lists several environment variables with the following syntax:
env[VARNAME] = $ENV_VAR_NAME
So just add your own and then you can then access these variables in your Laravel app with
getenv('VARNAME')
Works like a champ.