When configuring symfony
.env and real environment variables I ran into an interesting issue.
My first test drive of nginx unit (which is nice to not have a php-fpm+nginx docker container, but just one) I setup the php box and noticed that even though the Overriding Section states different, it seemed like my real environment variables did not have precedence in this case.
After some investigation and code reading
I tracked it down to the fact that the
$_ENV superglobal was entirely empty. But
getenv on the other side worked.
And this led me to the fact that variables_order ini variable
was set to
GPCS. Each capital letter means a superglobal to be filled with data. But it was lacking an
So I learned that the default production php.ini file does not set
EGPCS (which would be the php default) but
$_ENV superglobal empty. As I noticed this while using symfony, I created a PR for a documentation extension to have the hint on variables order added and hope this post keeps others from having to spend too much time on the very same issue.