In my local environment (PHP 5.4.24 on Apache 2.2.26) $_SERVER["SCRIPT_URL"]
is present, but I read around that this variable is not always present, even though I couldn't find exactly when it is and when it isn't.
I'd like to know what is required for this variable to be reliably present.
It's only available when you have mod_rewrite enabled:
http://httpd.apache.org/docs/2.0/rewrite/rewrite_intro.html#EnvVar
This variable strongly depends on the server's configuration.
When using nginx with php5-fpm (fcgi) for example, you'd pass the variable as fpm_parameter:
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
There is a similiar configuration for scgi.
There are 3 types of global variables in $_SERVER
, some are taken from the client's request header and are not reliable, some are set by PHP/Webserver (for example REMOTE_ADDR
) and are very reliable, and some depend on your configuration which can be reliable depending on that configuration.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With