NGINX和PHP之间的环境变量传递

昨天遇到的,想将IP访问转换成域名访问。则NGINX需要将相关的变量转换后传递给PHP。 网上有一系统的方法: 前面讲过该不该把信息写在服务器配置文件里?、通过php扩展hidef来define常量,这里介绍一下如何在nginx中设置$_SERVER变量值? 1. 通过nginx的fastcgi_param来设置 在nginx配置文件中,可以在nginx总体的配置文件nginx.conf中,也可以在单独的网站配置环境中进行设置,如:www.test.com.conf 在配置环境server段location中添加相应的配置信息: location ~ .*\.(php|php5)?$ { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fcgi.conf; fastcgi_param DB_NAME 'www.test.com'; } 这里只添加了fastcgi_param DB_NAME ‘www.test.com’; 一个值。 添加后重启nginx; 2. 通过php主配置文件php-fpm.conf来设置 这个设置必须放在主配置文件php-fpm.conf里,不能放到include指令设置的子配置文件里,否则会报错:「Array are not allowed in the global section」 直接在配置文件中添加: env[DATABASE_HOST] = 192.168.0.1 env[DATABASE_USERNAME] = administrator env[DATABASE_PASSWORD] = e1bfd762321e409cee4ac0b6e841963c 添加后重启php-fpm 通过上面2种方式添加$_SERVER变量值后,我们就可以直接在php文件中通过$_SERVER来获取相应的变量值了。
联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2022

备案号:京ICP备15003423号-3