设置使用Apache时在PHP中访问的环境变量
我有一个Linux环境和一个PHP Web应用程序,它使用PHP中的设置使用Apache时在PHP中访问的环境变量,php,apache,ubuntu,environment-variables,Php,Apache,Ubuntu,Environment Variables,我有一个Linux环境和一个PHP Web应用程序,它使用PHP中的getenv基于环境变量有条件地运行。我需要知道如何设置这些环境变量才能使应用程序正常工作。我不知道如何在Apache上设置它 此外,我需要能够为每个域分别配置单独的环境变量 请就如何实现这一目标提出建议。大致如下: <VirtualHost hostname:80> ... SetEnv VARIABLE_NAME variable_value ... </VirtualHost>
getenv
基于环境变量有条件地运行。我需要知道如何设置这些环境变量才能使应用程序正常工作。我不知道如何在Apache上设置它
此外,我需要能够为每个域分别配置单独的环境变量
请就如何实现这一目标提出建议。大致如下:
<VirtualHost hostname:80>
...
SetEnv VARIABLE_NAME variable_value
...
</VirtualHost>
...
SetEnv变量\名称变量\值
...
您也可以在.htaccess文件中执行此操作,前提是网站上已启用它们
SetEnv KOHANA_ENV production
要添加环境变量,只需将其添加到.htaccess即可,但在centos 6.4上的httpd 2.2上,这是可行的 在
/etc/sysconfig/httpd
export mydocroot=/var/www/html
然后简单地做这个
<VirtualHost *:80>
DocumentRoot ${mydocroot}
</VirtualHost>
如果您的服务器是Ubuntu,Apache版本是2.4 服务器版本:Apache/2.4.29(Ubuntu) 然后导出“/etc/apache2/envvars”位置中的变量 就像下面这行一样,您需要在“/etc/apache2/envvars”中添加一个额外的行
export GOROOT=/usr/local/go不在我的$\u ENV数组中,有关检索值,请参见:@i\u a您可以使用
getenv('VARIABLE\u NAME')访问PHP中的值
在windows上的xampp中,文件将是C:\xampp\apache\conf\extra\httpd vhosts。conf@i_a在我的机器上,该值也可以在$\u SERVER
变量中找到。如果不想更改vhost.confi,也可以使用Include
或IncludeOptional
,这与使用.env文件(如拉威尔会这么做吗?这会不会让它更不安全?我问这个问题是因为我正在用多个框架(laravel、express、django等)构建相同的后端结构,而其他语言的一些开发人员说它“不适合使用.env,应该使用“服务器配置”,或者通过命令行heroku风格来实现
service httpd restart;