标签: setenv

Apache SetEnv在REDIRECT_之前.是什么赋予了?

对于基于Zend Framework的应用程序我用阿帕奇直升机SetEnv.htaccess.我在测试,登台和生产服务器上使用它,如下所示:

SetEnv APPLICATION_ENVIRONMENT production
Run Code Online (Sandbox Code Playgroud)

在登台服务器上,我无法在PHP中读取此env var.然而,当我做了一个var_dump( $_ENV )在PHP我得到的价值,但关键是除了前面REDIRECT_成为

REDIRECT_APPLICATION_ENVIRONMENT
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释为什么会发生这种情况,以及如何防止这种情况发生?

php apache setenv

9
推荐指数
1
解决办法
4046
查看次数

使用.htaccess设置环境变量

我正在尝试使用.htaccess文件以下列方式设置apache环境变量:

SetEnv SERVER_KEY "qwerty"
Run Code Online (Sandbox Code Playgroud)

之后我优雅地重启我的apache web服务器:

apachectl graceful
Run Code Online (Sandbox Code Playgroud)

然后我在/ var/www/html中创建一个名为version.php的文件

<?php phpinfo() ?>
Run Code Online (Sandbox Code Playgroud)

并转到MYIPADDRESS/version.php进行检查,但我发现环境变量尚未设置.

以下是详细信息:操作系统:RHEL6 PHP版本:5.3.3 Apache版本:2.2.15(Red Hat)

我该怎么办?

更新: 我通过在服务器配置文件中将AllowOverride None更改为AllowOverride All解决了我的问题!

php apache .htaccess environment-variables setenv

9
推荐指数
1
解决办法
1万
查看次数

如何在tox中设置环境变量?

我有tox 2.9.1

$ tox --version
2.9.1 imported from /Library/Python/2.7/site-packages/tox/__init__.pyc
registered plugins:
    tox-pyenv-1.1.0 at /Library/Python/2.7/site-packages/tox_pyenv.pyc
Run Code Online (Sandbox Code Playgroud)

文件结构和内容如下

$ tree .
.
??? setup.py
??? test_env.py
??? tox.ini

0 directories, 3 files
Run Code Online (Sandbox Code Playgroud)

setup.py

$ cat setup.py
from setuptools import setup

setup(name="Tox Testing")
Run Code Online (Sandbox Code Playgroud)

tox.ini

$ cat tox.ini
[tox]
envlist = py35
setenv =
    XYZ = 123

[testenv]
deps=pytest
commands=py.test
Run Code Online (Sandbox Code Playgroud)

test_env.py

$ cat test_env.py
import os

def test_env():
    assert os.getenv('XYZ') == 123
Run Code Online (Sandbox Code Playgroud)

当我运行tox命令时,我的测试失败了.

$ tox -v
using tox.ini: /private/tmp/testing/tox.ini
using tox-2.9.1 from /Library/Python/2.7/site-packages/tox/__init__.pyc …
Run Code Online (Sandbox Code Playgroud)

python virtualenv setenv tox

9
推荐指数
3
解决办法
4104
查看次数

使用SetEnv或php.ini存储数据库变量有多安全?

我不喜欢在document_root下存储全站点加密密钥和数据库访问信息,所以我在conf.d下使用Apache的SetEnv和php.ini文件将它们与代码库分开.最大的问题是,哪一个更好?apache vhost文件(SetEnv SITEKEY 'oinkoink!')或conf.d/xxx.ini文件(db_pass="oink?")内的环境变量?也许别的什么?

PROS n CONS:

SETENV:

+存储在DOCUMENT_ROOT外
+只有给定的vhost才能访问
-Visible with PHPINFO() - 黑客需要直接访问/上传利用到文件

get_cfg_var:

+存储在DOCUMENT_ROOT外部
+使用PHPINFO()不可见
- (非常糟糕)包含所有已定义的ini变量,因此每个vhost都可以通过(ini_get_all)查询它们,因此无法在共享vhost环境中使用

php setenv

8
推荐指数
1
解决办法
2604
查看次数

htaccess条件

我在我的实时网站上设置了htpasswd身份验证,它运行良好,但我不想在开发环境工作时要求输入密码.

在我的httpd.conf文件中,我有:

SetEnv APP_ENV "development"
Run Code Online (Sandbox Code Playgroud)

在我的.htaccess档案中,我有:

AuthName "Restricted Area"
AuthType Basic
AuthUserFile /path/to/file/.htpasswd
AuthGroupFile /dev/null
require valid-user
Run Code Online (Sandbox Code Playgroud)

我想知道是否有反正把有条件围绕htppasswd的东西,这样,当APP_ENVdevelopment我没有得到提示输入密码.

这可能吗?

.htaccess conditional setenv .htpasswd

7
推荐指数
1
解决办法
2013
查看次数

csh中"setenv"的范围与bash中的"export"

从我所读到的,setenv在csh和exportbash中都是等价的.但是,在与两者合作时,我发现了一些奇怪的问题.

当我打开putty并开始输入:

setenv TEMP yes
echo $TEMP  //this give me "yes"
Run Code Online (Sandbox Code Playgroud)

然后我去打击并输入

echo $TEMP //this give me "yes" as well
Run Code Online (Sandbox Code Playgroud)

但是,如果我以相反的顺序进行,它将不会给出相同的结果.具体来说,当我先去bash并输入时

export TEMP=no
echo $TEMP //this give me "no"
Run Code Online (Sandbox Code Playgroud)

然后我回到csh并输入

echo $TEMP // this give me "Undefined Variable"
Run Code Online (Sandbox Code Playgroud)

它不应该给我"不"吗?我错过了什么吗?

谢谢!

bash shell csh export setenv

7
推荐指数
1
解决办法
3万
查看次数

为什么在运行时更改LD_LIBRARY_PATH dosen一旦Executable被加载就反映在Executable上

我正试图改变LD_LIBRARY_PATH我的C++程序.我能够使用它来获取它的值getenv("LD_LIBRARY_PATH")并使用它设置它的值setenv()(我知道这是有效的,因为当我getenv("LD_LIBRARY_PATH")再次调用时,我得到更新的值),但是从程序内部改变它的值没有任何影响对它:我仍然收到此错误消息:

Failed to Load the shared library file

如果我在加载可执行文件或启动应用程序之前设置了值,它就可以正常工作.

c++ linux setenv getenv

7
推荐指数
1
解决办法
2659
查看次数

为什么调用 setenv("OS_ACTIVITY_DT_MODE", "disable", 1) 不影响日志记录?

通过在您的运行方案中设置OS_ACTIVITY_MODE环境变量,可以在 Swift 中隐藏 3rd 方库产生的过于冗长的日志disable- 如下图所示。

这将使NSLog您的应用程序的所有输出静音。我只想为某些呼叫禁用它。我尝试像这样设置环境变量:

setenv("OS_ACTIVITY_MODE", "disable", 1)
Run Code Online (Sandbox Code Playgroud)

而像这样

putenv(UnsafeMutablePointer<Int8>(mutating: ("OS_ACTIVITY_MODE=disable" as NSString).utf8String))
Run Code Online (Sandbox Code Playgroud)

通过调用验证环境已更改,print(ProcessInfo.processInfo.environment)但与在 XCode 运行方案中指定它不同,日志不受影响。

为什么它不起作用以及如何解决它?

在此处输入图片说明

xcode environment-variables setenv ios swift

7
推荐指数
1
解决办法
379
查看次数

如何找到Windows SDK的SetEnv.cmd / SetEnv.cmd无法正常工作

我们正在运行一个Team City Build Server,并且希望编译一个Visual C ++项目。到目前为止,这很容易,因为我已经使用Windows SDK设置了Windows Build Agent,但是我们没有解决方案/项目文件。

而是使用CMake创建项目文件。CMake似乎有点笨(当未安装Visual Studio时无法生成解决方案),但是通过一些技巧,我可以做到这一点。然后可以使用MSBuild构建该解决方案。

问题来了。为了自动运行,我需要调用Windows SDK的SetEnv.cmd。而且我似乎无法自动找到它。它位于Windows SDK的bin子目录中,但是bin和root都不在路径中,并且%mssdk%环境变量由SetEnv.cmd设置,并且事先不可用!

将Windows SDK \ bin目录添加到PATH会导致SetEnv.cmd不再起作用(退出时显示类似The x86 compilers are not currently installed和的消息Jump target Set_x86 not found

开始菜单链接正在使用Windows SDK目录作为工作目录来调用SetEnv.cmd。但是,如果我将根目录添加到PATH,则Bin \ SetEnv.cmd不可用。

如何自动找到SetEnv.cmd?即使将环境变量设置为setenv.cmd的完整路径也不起作用,并且当我将%mssdk%定义为sdk目录时,则调用%mssdk%\ bin \ SetEnv也不起作用。我还尝试定义%mssdk%,然后定义cd%mssdk%,然后调用bin \ SetEnv。此外,在所有这些情况下都找不到编译器。如果我在命令行上手动cd到根目录或bin目录,然后调用SetEnv.cmd,它也将不起作用。

虽然开始菜单链接可以正常工作。

作为记录,我目前的解决方案如下:

我创建了一个MSBuild文件,该文件在命令行上使用CMake创建了解决方案文件,然后使用MSBuild任务调用了创建的解决方案。可以从TeamCity轻松构建MSBuild文件,尽管我需要一些其他技巧来满足CMake愚蠢的寻找编译器的麻烦,尽管我不会调用它。并不是很令人满意,但是可以。

windows msbuild sdk setenv

6
推荐指数
1
解决办法
2万
查看次数

在SetEnvIf中添加多个条件

我需要SetEnvIf在我的.htaccess文件中使用.

我还需要满足多个条件,然后显示所需的URL.

这是我的代码:

SetEnvIf Remote_Host "^" press_flag=0
SetEnvIf Request_URI '/press/$' press_flag=1
SetEnvIf Cookie 'language\_uiAAAenglishBBB' press_flag=press_flag+1
SetEnvIf press_flag 2 Request_URI='Remote_Host/eng/test.html'
Run Code Online (Sandbox Code Playgroud)

说明:

  1. 在第一行中,我将变量设置press_flag0.
  2. 第二行,我检查URL是否以此文本结尾: /press/,如果为true,我将'press_flag'设置为1.
  3. 第三行,我检查cookie是否匹配language\_uiAAAenglishBBB文本,如果为true,则我将press_flag值增加1.
  4. 最后一行,我检查press_flag值是否为2,然后我相应地设置HTTP_HOST.

但是,当我URL/press/在浏览器中打开时,它没有被重定向.

请帮助调试和修复此代码.

谢谢.

html apache .htaccess setenv

6
推荐指数
1
解决办法
3167
查看次数