【发布时间】:2012-06-09 18:33:36
【问题描述】:
我有一个 Linux 环境,我有一个 PHP Web 应用程序,它基于环境变量在 PHP 中使用 getenv 有条件地运行。我需要知道如何设置这些环境变量以使应用程序正常工作。我不确定如何在 Apache 上进行设置。
另外,我需要能够为每个域分别配置单独的环境变量。
请就我如何实现这一点提出建议。
【问题讨论】:
标签: php apache ubuntu environment-variables
我有一个 Linux 环境,我有一个 PHP Web 应用程序,它基于环境变量在 PHP 中使用 getenv 有条件地运行。我需要知道如何设置这些环境变量以使应用程序正常工作。我不确定如何在 Apache 上进行设置。
另外,我需要能够为每个域分别配置单独的环境变量。
请就我如何实现这一点提出建议。
【问题讨论】:
标签: php apache ubuntu environment-variables
如果你的服务器是 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;
【讨论】:
您也可以在 .htaccess 文件中执行此操作,前提是它们已在网站上启用。
SetEnv KOHANA_ENV production
您只需添加到 .htaccess 即可添加环境变量
【讨论】:
类似的东西:
<VirtualHost hostname:80>
...
SetEnv VARIABLE_NAME variable_value
...
</VirtualHost>
【讨论】:
getenv('VARIABLE_NAME')访问PHP中的值
$_SERVER 变量中找到。
Include 或 IncludeOptional