apache下面直接配置数据库配置信息:

1)首先在apache下面的httpd.conf中的

# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf

下面引入(数据库配置文件db-info.conf)
Include conf/extra/db-info.conf

2)配置数据库配置文件db-info.conf(每句后面没有“;”号



其中

setenv为apache下面的配置方法:

官方手册:

SETENV 指令


说明:设置环境变量
语法:SETENV  name value
背景:服务器配置,虚拟主机,目录,。htaccess文件
覆盖:FileInfo的
状态:基地
模块:mod_env

这个模块允许将提供给CGI脚本和SSI页面的环境控制 。环境变量可以通过从shell中调用httpd 进程。另外,可能是环境变量设置或在配置过程中未设置。


3)测试  phpinfo()

可以看到 配置的系统变量,就代表配置成功


nginx下面的配置

1)首先在nginx服务器下面的nginx.conf的


加入include        db-info.conf;这句话 引入配置文件

2)配置db-info.conf这个文件(注意每句后面都有分号,apache下面没有这个



fastcgi_param

语法:fastcgi_param parameter value 
默认值:none 
使用字段:http, server, location 
指定一些传递到FastCGI服务器的参数。
可以使用字符串,变量,或者其组合,这里的设置不会继承到其他的字段,设置在当前字段会清除掉任何之前的定义。
下面是一个PHP需要使用的最少参数:

fastcgi_param  SCRIPT_FILENAME  /home/www/scripts/php$fastcgi_script_name;fastcgi_param  QUERY_STRING     $query_string;

PHP使用SCRIPT_FILENAME参数决定需要执行哪个脚本,QUERY_STRING包含请求中的某些参数。
如果要处理POST请求,则需要另外增加三个参数:

fastcgi_param  REQUEST_METHOD   $request_method;fastcgi_param  CONTENT_TYPE     $content_type;fastcgi_param  CONTENT_LENGTH   $content_length;

如果PHP在编译时带有–enable-force-cgi-redirect,则必须传递值为200的REDIRECT_STATUS参数:

fastcgi_param  REDIRECT_STATUS  200;



官方给的一个实例:

location / {
  fastcgi_pass   localhost:9000;
  fastcgi_index  index.php;   fastcgi_param  SCRIPT_FILENAME  /home/www/scripts/php$fastcgi_script_name;
  fastcgi_param  QUERY_STRING     $query_string;
  fastcgi_param  REQUEST_METHOD   $request_method;
  fastcgi_param  CONTENT_TYPE     $content_type;
  fastcgi_param  CONTENT_LENGTH   $content_length;}

3)测试配置成功 使用 phpinfo()



看到自己添加 变量 成功