设置用于在PHP中访问的环境变量

Abi*_*hek 98 php apache ubuntu environment-variables

我有一个Linux环境,我有一个PHP Web应用程序,有条件地运行基于getenvPHP中的环境变量.我需要知道如何设置这些环境变量以使应用程序正常工作.我不知道如何在Apache上设置它.

此外,我需要能够分别为每个域配置单独的环境变量.

请告知我如何实现这一目标.

wro*_*sty 154

一些事情:

<VirtualHost hostname:80>
   ...
   SetEnv VARIABLE_NAME variable_value
   ...
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

  • @i_a,您可以使用`getenv('VARIABLE_NAME')`访问PHP中的值。 (4认同)
  • 不在我的$ _ENV数组中,对于retreiving值,请参阅:http://stackoverflow.com/questions/2378871/set-application-env-via-virtual-host-config-and-read-this-in-php (2认同)

paq*_*ttg 27

您也可以在.htaccess文件中执行此操作,假设它们已在网站上启用.

SetEnv KOHANA_ENV production
Run Code Online (Sandbox Code Playgroud)

将您需要添加到.htaccess以添加环境变量


dan*_*y74 7

令人难以置信,但在httpd 2.2 on centos 6.4上这是有效的.

出口env vars in /etc/sysconfig/httpd

export mydocroot=/var/www/html
Run Code Online (Sandbox Code Playgroud)

然后干脆就这样做......

<VirtualHost *:80>
  DocumentRoot ${mydocroot}
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

最后......

service httpd restart;
Run Code Online (Sandbox Code Playgroud)


小智 6

如果您的服务器是 Ubuntu 并且 Apache 版本是 2.4

服务器版本:Apache/2.4.29 (Ubuntu)

然后在“/etc/apache2/envvars”位置导出变量。

就像下面这行一样,您需要在“/etc/apache2/envvars”中添加额外的一行 export GOROOT=/usr/local/go