奇怪的问题。在我的 Nginx 虚拟主机配置中,我设置了诸如 ENV 之类的变量,以告诉 PHP 它是否应该根据环境采取不同的行动。
例如:
location / {
...
fastcgi_param ENV production;
...
}
然后 PHP 像这样读取它:
<?php
if($SERVER['ENV'] == 'production' {
//Do This
} else {
//Do That
}
这工作正常。但是当通过 cname 访问该站点时,似乎不再读取 ENV 变量。这可能是什么原因造成的?
完整的服务器块
server {
listen 80;
server_name example.com www.example.com;
location / {
root /data/sites/www.example.com/public_html/;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?rt=$uri&$args;
}
location ~ \.php$ {
root /data/sites/www.example.com/public_html/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param ENV production;
fastcgi_param HTTPS off;
}
}