当我有这样的事情:
location ~ .php$ { ## Execute PHP scripts if (!-e $request_filename) { rewrite / /index.php last; } ## Catch 404s that try_files miss expires off; ## Do not cache dynamic content include fastcgi_params; ## See /etc/nginx/fastcgi_params fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param ID_DEVELOPER_MODE 1; }
include指令在哪里很重要? 因为文件/ etc / nginx / fastcgi_params里面已经有一个SCRIPT_FILENAME声明了。
这里logging了 fastcgi_param指令。 虽然关于inheritance是很清楚的,但是关于同一个参数的设置不止一次(在同一级别)。
通过实验,似乎nginx默默覆盖了同一级别的先前值。
所以你的问题的答案是在任何fastcgi_param指令优先之前放置include指令。