在我的本地环境中(Apache 2.2.26 上的 PHP 5.4.24)$_SERVER["SCRIPT_URL"]
存在,但我读到这个变量并不总是存在,即使我无法准确找到它何时存在以及何时不存在。
我想知道这个变量需要什么才能可靠地存在。
在我的本地环境中(Apache 2.2.26 上的 PHP 5.4.24)$_SERVER["SCRIPT_URL"]
存在,但我读到这个变量并不总是存在,即使我无法准确找到它何时存在以及何时不存在。
我想知道这个变量需要什么才能可靠地存在。
它仅在您启用 mod_rewrite 时可用:
http://httpd.apache.org/docs/2.0/rewrite/rewrite_intro.html#EnvVar
这个变量很大程度上取决于服务器的配置。
例如,当将 nginx 与 php5-fpm (fcgi) 一起使用时,您可以将变量作为 fpm_parameter 传递:
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
scgi 有一个类似的配置。
中的全局变量有 3 种类型$_SERVER
,有些取自客户端的请求头,不可靠,有些是 PHP/Webserver 设置的(例如REMOTE_ADDR
),非常可靠,有些取决于您的配置,可靠取决于那个配置。