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()
看到自己添加 变量 成功
设置Apache环境变量
指令
设置当前环境变量为DEV
SetEnv RUNTIME_ENVIROMENT DEV
数据库帐号密码
SetEnv MYSQL_USERNAME root
SetEnv MYSQL_PASSWORD root
配置文件格式
view source
print
?
<VirtualHost *:80>
ServerAdmin admin@admin.com
DocumentRoot “/var/www/”
ServerName localhost
SetEnv RUNTIME_ENVIROMENT DEV
SetEnv MYSQL_USERNAME root
SetEnv MYSQL_PASSWORD root
ErrorLog “logs/error.log”
CustomLog “logs/access.log” common
</VirtualHost>
设置Nginx环境变量
指令
设置当前环境变量为DEV
fastcgi_param RUNTIME_ENVIROMENT 'DEV'
数据库帐号密码
fastcgi_param MYSQL_USERNAME 'root'
fastcgi_param MYSQL_PASSWORD 'root'
配置文件格式
在fastcgi_params文件中配置
fastcgi_param RUNTIME_ENVIROMENT 'DEV';
fastcgi_param MYSQL_USERNAME 'root';
fastcgi_param MYSQL_PASSWORD 'root';
在nginx.conf中配置
server {
listen 80;
root /var/www;
index index.php;
server_name localhost;
location /
{
index index.php;
}
location ~ .*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
为PHP脚本设置环境变量
为当前用户临时设置
临时设置只需要执行
export KEY=VALUE
为当前用户永久设置
在~/.bashrc(不同系统各有不同)中写
为所有用户(不包括root)设置
创建文件/etc/profile.d/test.sh,写入
KEY=VALUE
为所有用户(包括root)设置
在/etc/environment中写入
KEY=VALUE
注意,这个文件的生效时间是用户登录时,所以对于root来说,需要重启机器
在Supervisor中设置//尚维网络
有的时候PHP脚本是用Supervisor来控制的,所以记得设置supervisor配置中的environment项
在PHP中调用服务器环境变量
在PHP中有两个调用方式:
$env = getenv(‘RUNTIME_ENVIROMENT’);
还有超全局变量方式:
$env = $_SERVER['RUNTIME_ENVIROMENT'];