1. 程式人生 > >PHP 伺服器變數$_SERVER,增加$_ENV變數

PHP 伺服器變數$_SERVER,增加$_ENV變數

一、通過php主配置檔案php-fpm.conf來設定

這個設定必須放在主配置檔案php-fpm.conf裡,不能放到include指令設定的子配置檔案裡,否則會報錯:「Array are not allowed in the global section」

我的php-fpm.conf位置在/usr/local/php/etc/php-fpm.conf

直接在配置檔案中新增:

新增後重啟php-fpm

二、通過nginx的fastcgi_param來設定

server {

	listen 80;

	server_name test.cn;

	root "d:/WWW/test;

	location / {

		index index.html index.htm index.php;

		#autoindex on;

	}

	location ~ \.php(.*)$ {

		fastcgi_param RUNTIME_ENVIROMENT 'DEV';

		fastcgi_param MASTER_DB_HOST '127.0.0.1';

		fastcgi_param MASTER_DB_DATABASE 'test';

		fastcgi_param MASTER_DB_USER 'root';

		fastcgi_param MASTER_DB_PASSWD 'root';
	}
}

Apache設定環境變數

SetEnv 變數名 變數值

<VirtualHost *:80>
	ServerName test.cn
	DocumentRoot d:/myProject/www/test

	SetEnv HM_ENV DEV    
	SetEnv HM_MASTER_DB_HOST 47.190.1.1   
	SetEnv HM_MASTER_DB_DATABASE test
	SetEnv HM_MASTER_DB_USER root
	SetEnv HM_MASTER_DB_PASSWD root

	<Directory  "d:/myProject/www/test/">
		Options +Indexes +Includes +FollowSymLinks +MultiViews
		AllowOverride All
		Require local
	</Directory>
</VirtualHost>

重啟Nginx/Apache 配置生效

在PHP中呼叫伺服器環境變數

<?php

//1、getenv()函式定義:取得系統的環境變數; 語法:string getenv(string varname)
$env = getenv('MASTER_DB_HOST');

// 2、超全域性變數方式:
$env = $_SERVER['MASTER_DB_HOST'];

?>