问题标签 [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.
c - 为什么这段代码可以获取环境变量地址?
64位Linux栈粉碎教程:第1部分使用Get environment variable address gist获取环境变量地址。先决条件是首先通过echo 0 > /proc/sys/kernel/randomize_va_space
.
要点的内容是:
为什么*2
用来调整节目名称?
我的猜测是程序名称在堆栈上方保存了两次。
来自https://lwn.net/Articles/631631/的下图提供了更多详细信息:
在此图中,./stackdump
用于执行程序。所以我可以看到程序名称./stackdump
在环境字符串上方保存一次。如果./stackdump
从 Bash shell 启动,Bashell 会将其保存在带有 key 的环境字符串中_
:
_
(下划线。)在 shell 启动时,设置为用于调用在环境或参数列表中传递的 shell 或正在执行的 shell 脚本的绝对路径名。随后,在展开后展开到前一个命令的最后一个参数。还设置为用于调用执行的每个命令并放置在导出到该命令的环境中的完整路径名。检查邮件时,此参数保存邮件文件的名称。
环境字符串位于堆栈之上。所以程序名称在堆栈上方再次保存。
c++ - fcgi 应用程序看不到来自 SSL 证书的环境变量
我在尝试从 FCGI 进程环境获取客户端 SSL 证书参数时遇到问题:
fcgi 应用程序在 apache 下运行,在 apache 配置中我有:
我假设 Apache 应该将 SSL 客户端证书参数传递给应用程序,但我没有得到它。
我也尝试使用QProcessEnvironment::systemEnvironment()
,但结果是一样的。
php - 如何在 PHP/phpinfo() 中从 Shell 获取环境变量
我正在尝试使用 SendGrid 的 API,我需要使用以下命令访问已添加到根目录的环境变量。
这sendgrid.env
在我的根文件夹中创建了一个文件,添加sendgrid.env
到我的.gitignore
文件中,并添加SENDGRID_API_KEY
为环境变量。
但是,PHP 的getenv('SENDGRID_API_KEY')
键不返回任何内容,并且 PHP的键phpinfo()
不反映SENDGRID_API_KEY
为环境变量。
以下是API 安装说明。
python - 更新了环境变量,但 os.getenv() 不断返回 None
我似乎无法让我的代码响应自定义环境变量,所以我编写了一段代码来测试它。getenv
没有将我在 BASH 中设置的环境变量拉到我的 python 代码中。您可以提供的任何帮助将不胜感激。
python - Spotipy - 设置 CLIENT_ID 和 CLIENT_SECRET
我在哪里可以设置 CLIENT_ID 和 CLIENT_SECRET 以便它不存储在我的 python 脚本中?Spotipy 文档说明了以下内容,但我无法弄清楚我需要去哪里输入这些环境变量。我在哪里设置 os.getenv?
c++ - C ++ getenv()包装函数未设置值
cplusplus.com 关于getenv()
状态的文档...
返回的指针指向一个内部内存块,其内容或有效性可以通过进一步调用来改变
getenv
...我的意思是,“如果您想保留内容,请复制它。” 所以,因为我需要检索几个变量,我写了几个小包装函数:
该int
版本按预期工作,但我没有从该char
版本中得到任何回报,我的意思是什么:如果我没有*textMode
在声明时初始化它仍然是一个未初始化的指针。
是指针对吧?对?我知道它是。应该是指点 这些天我会弄清楚它们,但是嘿-至少我的链接列表可以工作了!耶!
php - 如何使用 putenv() 更新现有环境变量?
编辑:据我所知,我的问题是因为 PHP 的缺陷。我已将此问题复制到此处的 PHP 错误跟踪器:https ://bugs.php.net/bug.php?id=74143并计划尝试实施修复。
putenv 函数设置环境变量的值。根据手册,putenv 成功返回 true,失败返回 false。
但是,我发现 putenv 函数有时会在不更新当前会话的环境变量的情况下返回 true。
要重现此问题,请使用 fastcgi_param 指令在使用 PHP FPM 的 Web 服务器中设置环境变量。这非常有用,因为它允许将环境变量设置为与同一服务器上的其他主机隔离。
示例 nginx.conf:
示例 test.php:
test.php 的输出:
如你看到的:
- getenv 成功读取现有值,
- putenv函数返回true,表示成功,
- 新值实际上并没有设置,这令人难以置信的混乱。
我是否误解了 putenv 函数的目的是什么?setenv 手册页上是否缺少一些文档?如何使用 putenv() 更新现有环境变量?
php - php中不传入环境数组
如果我在 shell 环境中声明一个数组,它不会出现在 PHP 中。
标量工作正常。例如:
外壳脚本:
PHP:
$TARGETS 将为空,$HOST 将包含“localhost”。
phpinfo 在 Environment 部分显示 $HOST 及其值。phpinfo 输出中没有 $TARGETS :/
我找不到任何说明环境数组未传递到 PHP 中的信息,但实际上是这样还是我错过了一些明显的东西?
顺便说一句,我也尝试使用 $_ENV 和 $_SERVER 获得相同的结果。
这与bash 不同:设置数组 env 变量并从任何 shell 脚本中取消引用它都会失败,就像 2012 年 Bash 不支持数组变量时那样。现在确实如此。
c++ - 调用 getenv() 时 __strlen_sse2 中的分段错误
列出了回溯堆栈。我们只是调用 getenv(),gnu libc 版本是 2.17 。
代码是这样的:
并设置了 NAME 环境。