Home » Php » Setting environment variables with the built-in PHP web server

Setting environment variables with the built-in PHP web server

Posted by: admin April 23, 2020 Leave a comment

Questions:

PHP 5.4 supports a built-in web server for development purposes. The app we are developing is configured via environment variables.

With Apache you’d do this:

SetEnv FAVORITE_COLOR white

With the normal CLI you can do this:

$ export FAVORITE_COLOR=black
$ php -a
php > echo $_SERVER['FAVORITE_COLOR'];

Is there a way to set these variables for the built-in web server?

How to&Answers:

Looks like E is excluded from variable_order setting running the built-in server. If you add the E to the variable_order setting, it works:

test.php

<?php
var_dump($_ENV['FOO']);

shell:

FOO=BAR php -d variables_order=EGPCS -S localhost:9090 /tmp/test.php

output:

string 'BAR' (length=3)

Tested on PHP 5.4.12

Answer:

On Windows:

SET FOO=BAR
php -s localhost:9090