在/ etc / apache2 / envvars中创build新variables?

在Ubuntu Oneiric 11.10上,我想我会变得聪明并且join

export RAILS_ENV=production 

/etc/apache2/envvars所以我可以干我的Apacheconfiguration。 但它似乎不能从httpd.conf访问。 进一步挖掘,我开始使用ErrorLog作为testing,现在我很困惑。 在envvars给出以下几行:

 export APACHE_RUN_USER=www-data export APACHE_RUN_NEWVAR=www-newvar 

当我这样做:

 ErrorLog ${APACHE_LOG_DIR}/${APACHE_RUN_USER}-error.log 

我得到了一个名为/var/log/apache2/www-data-error.log的文件。 但是当我这样做:

 ErrorLog ${APACHE_LOG_DIR}/${APACHE_RUN_NEWVAR}-error.log 

我改为获取/var/log/apache2/${APACHE_RUN_NEWVAR}-error.log

我grepped软件包源, APACHE_LOG_DIR不硬编码任何地方; 它不应该是特殊的。 那么,什么阻止我使用新创build的variables?

这不是直接回答问题,而是根据乘客文件 ,生产是默认的环境,所以你不应该需要这条线。 (我猜你正在使用乘客)

编辑:我已经尝试把PassEnv APACHE_RUN_NEWVAR在我的虚拟主机configuration文件,它的工作。 这不是以前的工作。

请参阅文档 :

指定一个或多个本地系统环境variables作为内部环境variables

Edit2:看起来像PassEnv没有任何关系。 当我用apache2ctl restart加载configurationapache2ctl restart新variables没有定义,但如果我做apache2ctl stop然后apache2ctl start它工作正常…