问题标签 [getenv]

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 投票
2 回答
1326 浏览

environment-variables - Why the contents of environ in the /proc file system differs from what extern environ pointed to?

getenv() in my C++ apache/cgi gives me weird things, then I checked the environ inside /proc/${PID_OF_THE_RUNNING_PROCESS}, they did not match, which I think they should, I am wondering what was wrong with /proc or it was getenv()?

Code of PID_OF_THE_RUNNING_PROCESS

Console log of PID_OF_THE_RUNNING_PROCESS

0 投票
2 回答
2018 浏览

php - 当我使用 getenv(REMOTE_ADDR) 时,Cloudflare 给了我错误的 IP

我有一个测试 php 代码。它本质上是抓取某人的 IP 并将其通过电子邮件发送到一个地址。我计划稍后将其存储在数据库中,但出于测试目的,我将其作为电子邮件发送给我。

我的问题是,我启用了 cloudflare,所以当我使用getenv(REMOTE_ADDR)它时,它会给我 cloudflare 的 IP,而不是实际的访问者 IP。有没有办法获取访问者的IP?

0 投票
1 回答
207 浏览

c - 在 C 中包装 getenv() 和类似方法而没有泄漏或竞争条件的方法

不应存储 getenv 返回的指针,因为将来对 getenv 的调用可能会更改它(或对 setenv 的调用等)。我正在尝试围绕 getenv 编写一个方便的包装器,如果找不到环境变量,它会返回一个默认值。我宁愿不泄漏内存。

我想到的选项:
让包装函数复制 getenv 返回的字符串,使用 malloc 和 strcpy 或 strdup (这是在符合 POSIX 的系统上)。这有效并允许错误处理,但需要调用者记住释放指针。这为内存泄漏创造了空间。
不要费心尝试缓存该值,而是让每个调用者都这样做。这使得离开竞争条件变得容易。使用全局变量来存储 getenv 返回的字符串的副本。这将避免调用者释放内存的需要,但除非我添加某种锁定/原子更新,否则会像单独的 getenv 那样冒竞争条件的风险。
在函数中使用静态变量来缓存值。这可能是最好的选择,因为它会为后续调用重用内存,但可能会导致竞争条件。

我有理由确定我错过了一些东西。

0 投票
3 回答
79 浏览

c - envz_get 和 getenv 是否引用相同的环境变量池?

如果后者通过可选getenv()参数传递给?envz_get()envpint main (int argc, char *argv[], char *envp[])

换句话说,可选envp参数是否int main (int argc, char *argv[], char *envp[])引用了相同的环境变量池getenv()

0 投票
1 回答
594 浏览

c - getenv 返回受污染的字符串内容

Coverity 声称 getenv 正在返回一个受污染的字符串,我已经用尽了所有关于返回值检查的想法。我查看了与我类似的其他问题,但他们的解决方案都不适合我。

我试过检查返回是否为 NULL,我试过 strdup、strncpy、memcpy,但似乎没有什么能让受污染的字符串消失。

这是没有无效检查的原始代码:

关于如何让 Coverity 相信它不再受到污染的任何想法?

0 投票
1 回答
651 浏览

maven - 通过 maven 命令运行时如何修复 system.getenv 错误?

我正在通过 maven 在 eclipse 上运行一个项目,并且我已经在我的系统上设置了一个环境变量,以便我的项目能够正常工作。

这是一个示例代码:

但是当我运行mvn test时,我得到了 java nullPointerException,因为它在运行测试时无法找到该config.properties文件。

请检查下图以获取 Maven 错误日志

在此处输入图像描述

我已经尝试了以下链接的解决方案,但它对我不起作用:

从 maven 传递一个 java 参数

使用 Maven 的环境变量

我的pom.xml文件如下:

继续上面的pom

继续上面的pom

我想通过将我的配置文件作为环境变量传递来通过 maven 运行上述代码。

0 投票
2 回答
365 浏览

c - 如果当前用户的用户名包含 Unicode 字符,getenv("APPDATA") 将返回不正确的值

0 投票
0 回答
47 浏览

php - PHP GetEnV 在同一网络上返回相同的用户名

我试图运行下面显示的 getenv 用户名代码,它在我的 PC 上显示正确的用户名,但是当我通过我的 ip 从同一网络上的其他 PC 访问相同的用户名时,他也得到了我的用户名。当他访问我的电脑 URL 时,应该显示他在他电脑上的用户名

谢谢

用户名期望 pf windows 登录用户在我的机器上它是正确的,但在网络上的所有机器上,如果通过我的 ip 访问,则在他们的 PC 上显示我的用户名

谢谢

0 投票
1 回答
861 浏览

php - 为 php 存储的 .env 文件在哪里

我试图找出 php 使用 getenv/putenv 方法检索和存储值的环境文件在哪里。

我的印象是它存储在 .env 文件中。我可能错了。随时纠正我。

我认为它与网站位于同一目录中(比如说 www 或 web),但不是。

0 投票
1 回答
346 浏览

linux - 为什么 getenv MT 在手册页中是安全的?

在 POSIX.1-2017 中:getenv() 函数不必是线程安全的。

但是,在手册页中,genenv 是 MT-Safe env。

然而,

getenv() 的实现不需要是可重入的。getenv() 的返回值指向的字符串可能是静态分配的,并且可以通过后续调用 getenv()、putenv(3)、setenv(3) 或 unsetenv(3) 来修改。

那么,到底是什么MT-safe env??

谢谢!