问题标签 [setenv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1534 浏览

apache - 在这种情况下如何使用 SetEnvIf?

我尝试将 X-FRAME-OPTIONS 放入 http 标头以防止 Clickjacking 攻击。如果我像这样在 httpd.conf 或 .htaccess 文件中设置标题,它就可以工作。

但是有几个地方在我自己的网站上使用 iFrame,如果我这样做,它也会阻止我自己网站上的 iFrame。所以我尝试为我自己的网站添加一个例外。检查请求是否来自我自己的网站,然后在页面上允许 iFrame。我试过这个,但它没有用。

有人可以帮我解决这个问题吗?

0 投票
2 回答
3094 浏览

django - Django - 无法在 WSGI 接口上将环境变量传递给 Apache/Passenger

我正在寻找解决方案,我无法将 /etc/profile 中定义的变量传递给 apache。

这是我要设置的内容:

我有一个 django 应用程序,我通过 WGSI 接口通过 Apache/Passenger (modrails) 部署它。

在我的 settings.py 中,我正在使用这个 python 命令: ENVIRONMENT = os.getenv('ENV', 'PROD') 所以如果未定义 ENVIRONMENT 变量,它会默认进入生产设置。

这有助于我管理我连接到的数据库并激活调试工具。

它在生产中工作,因为它是默认值,当我在 DEV 服务器上时,我无法从 /etc/profile 获取环境变量。

它位于 Ubuntu 10.04 服务器上

所以这是我做的一些测试:

1) 放入 /etc/profile -> ENV='DEV' 导出 ENV

2) /etc/profile.d/environment.sh -> #!/bin/sh ENV='DEV' 导出 ENV

3)在我的虚拟主机配置文件中-> PassEnv ENV

4)仍在我的虚拟主机配置文件中-> SetEnv ENV DEV

5) 如果我在此文件中强制使用viron['ENV'] = 'DEV',乘客需要一个passenger_wgsi.py 来注册您的应用程序,但我无法做到这一点

知道为什么或如何解决这个问题吗?谢谢你!





@乔希

谢谢回复。但我还有一些问题。

使用Passenger,我必须在虚拟主机文件中设置的唯一内容是我的python/django 应用程序中公共文件夹的位置。所以我的虚拟主机文件看起来像这样。

然后在 myapp 文件夹中有passenger_wsgi.py

像你说的那样定义很少:

在这些设置之后,应用程序正在运行。因此,当您说我们必须指定我们使用的 wsgi 文件时,我可能会错过您的指示。我虽然它会直接定位passenger_wsgi.py并默认加载它目前似乎正在做的事情。

您应该知道的另一件事是我们的项目驻留在 SVN 存储库中,我想为许多用户设置此文件,因此我们没有不同的设置。

但是我明天要测试的是拥有一个包含公共信息的基本 wsgi 文件并基于计算机的主机名的想法,我将从 dev_wsgi.py 或 prod_wsgi.py 等导入其他设置

我应该能够使用 python 检索此名称,并根据名称设置我需要使用的变量。

谢谢你的想法,非常感谢。

0 投票
2 回答
1434 浏览

apache - 如何使用 SetEnv 读取 Apache 中的变量?

我想设置一个具有 DOC_ROOT 信息但没有的环境变量

然后能够在php中访问LAYOUT_HOME

我怎样才能做到这一点?

0 投票
1 回答
1580 浏览

c - 使用 fw_setenv 设置 U-boot 的 env (U-boot)

我使用了源代码(版本:u-boot 1.2)

想要 corss 编译器 fw_setenv 。

所以。我进入 uboot/uboot-1.2-dm9000/tools/env

arm-linux-gcc -Wall -DUSE_HOSTCC -I/include crc32.c fw_env.c fw_env_main.c -o fw_setenv

但是..这行不通。

多谢。

0 投票
5 回答
18310 浏览

linux - SETENV: Bad : $ ($) 中的修饰符

我在 Linux 中使用 tcsh 终端。在我通常使用的另一个终端中,我将路径设置为一些许可证文件,如下所示:

Tcsh shell 无法识别此命令,因此我尝试了以下操作:

但后来我总是收到以下错误:

Bad : $ ($) 中的修饰符。

如果有人可以快速帮助我,那也很棒,尝试了很多组合但没有任何效果。

0 投票
3 回答
6010 浏览

.htaccess - 如何做有条件的.htaccess密码保护

我正在尝试使用 .htaccess 对特定 url 进行密码保护。不同的 url 指向相同的文件,但有不同的工作方式。我现在只需要密码保护一个网址。我正在尝试使用 setenvif 执行此操作,但它似乎不起作用。我可能不完全理解 apache setenv 模块的目的或用途。

这是我的代码似乎不起作用

0 投票
3 回答
6327 浏览

bash - 如何使用 setenv 在 bash 中设置环境变量?

我有一个文件,其中包含应用程序以下列格式运行所需的所有环境变量...

我将如何设置环境。bash 中的变量使用上述文件?有没有办法以某种方式setenv在 bash 中使用命令?

0 投票
5 回答
14944 浏览

php - .htaccess 中的 Zend SetEnv 不起作用

我在我的 ubuntu 主服务器上安装了 Zend。在我的 .htaccess 文件中,我有以下代码:

当我在公共文件夹中的 index.php 中回显 APPLICATION_ENV 时,未设置 APPLICATION_ENV。

我究竟做错了什么?

在 apache 中启用了 Mod 重写。

0 投票
3 回答
6055 浏览

java - Java:加载依赖于其他库的库

我想在我的 java 应用程序中加载我自己的本机库。这些本机库依赖于第三方库(当我的应用程序安装在客户端计算机上时,这些库可能存在也可能不存在)。

在我的 java 应用程序中,我要求用户指定依赖库的位置。获得此信息后,我将使用它来使用 JNI 代码更新“LD_LIBRARY_PATH”环境变量。以下是我用来更改“LD_LIBRARY_PATH”环境变量的代码片段。

Java 代码

Jni 代码 (C)

我也有相应的本地方法来获取环境变量。

我可以成功更新 LD_LIBRARY_PATH(此断言基于 C 例程的输出getenv()

我仍然无法加载我的本机库。仍然没有检测到依赖的第三方库。

任何帮助/指针表示赞赏。我正在使用 Linux 64 位。

编辑:

我写了一个 SSCE(用 C 语言)来测试动态加载器是否工作。这里是 SSCE

C 代码也不起作用。显然,动态加载程序没有重新读取 LD_LIBRARY_PATH 环境变量。我需要弄清楚如何强制动态加载器重新读取 LD_LIBRARY_PATH 环境变量。

0 投票
5 回答
29024 浏览

c - 关于 putenv() 和 setenv() 的问题

我一直在思考环境变量,并有一些问题/意见。

  • putenv(char *string);

    这个电话似乎有致命的缺陷。因为它不复制传递的字符串,所以你不能用本地调用它,并且不能保证堆分配的字符串不会被覆盖或意外删除。此外(虽然我没有测试过),因为环境变量的一种用途是将值传递给孩子的环境,如果孩子调用其中一个exec*()函数,这似乎没用。我错了吗?

  • Linux 手册页表明 glibc 2.0-2.1.1 放弃了上述行为并开始复制字符串,但这导致了 glibc 2.1.2 中修复的内存泄漏。我不清楚这个内存泄漏是什么或如何修复的。

  • setenv()复制字符串,但我不知道它是如何工作的。进程加载时为环境分配空间,但它是固定的。这里有一些(任意的?)约定吗?例如,在 env 字符串指针数组中分配比当前使用更多的插槽,并根据需要向下移动空终止指针?新的(复制的)字符串的内存是否分配在环境本身的地址空间中,如果它太大而无法容纳您只需获得 ENOMEM?

  • 考虑到上述问题,是否有任何理由putenv()偏爱setenv()