我有一个Linux环境和一个PHP Web应用程序,该应用程序根据环境变量条件性运行,使用PHP中的getenv
。我需要知道这些环境变量需要如何设置才能使应用程序正常工作。我不确定如何在Apache上设置它。
此外,我需要能够为每个域单独配置不同的环境变量。
请指导我如何实现这一点。
我有一个Linux环境和一个PHP Web应用程序,该应用程序根据环境变量条件性运行,使用PHP中的getenv
。我需要知道这些环境变量需要如何设置才能使应用程序正常工作。我不确定如何在Apache上设置它。
此外,我需要能够为每个域单独配置不同的环境变量。
请指导我如何实现这一点。
大致意思是:
<VirtualHost hostname:80>
...
SetEnv VARIABLE_NAME variable_value
...
</VirtualHost>
getenv('VARIABLE_NAME')
在 PHP 中获取变量的值。 - BeetleJuice$_SERVER
变量中找到。 - robschInclude
或IncludeOptional
。 - Joe Bobson如果网站启用了 .htaccess 文件,您也可以在其中执行此操作。
SetEnv KOHANA_ENV production
在.htaccess文件中添加以下内容即可添加环境变量:
如果您的服务器是Ubuntu,并且Apache版本为2.4
服务器版本:Apache/2.4.29(Ubuntu)
那么您需要在/etc/apache2/envvars
位置导出变量。
就像下面这行一样,您需要在/etc/apache2/envvars
中添加一行额外的代码:
export MY_ENV_NAME=myEnvValue
难以置信,在CentOS 6.4上的httpd 2.2上,这个方法是可行的。
在/etc/sysconfig/httpd
中导出环境变量。
export mydocroot=/var/www/html
然后只需要这样做...
<VirtualHost *:80>
DocumentRoot ${mydocroot}
</VirtualHost>
然后最后...
service httpd restart;
DocumentRoot ${mydocroot}
只是将其写成字符串而不是对其进行评估并将其放置在虚拟主机中。 - Ricky Levi