问题标签 [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.
php - SetEnv 与 php.ini
我最初在 LAMP 服务器上建立了一个网站,但我的雇主需要将它转移到 WISP(windows/iis/sql server/php ..我不认为这是一个真正的术语?)服务器,我已经完成了。我正在使用 IIS v 6,并且我读到没有SetEnv
可以设置_SERVER
变量的等效项。我依赖这些变量进行一些配置,例如数据库用户/密码和用于散列的站点密钥。出于安全原因,我强烈希望将这些保留在 php 代码之外。
我能想到的唯一解决方案是使用 php.ini 设置此类变量。我相信您可以设置默认的数据库连接,但无论如何我都不想这样做。php.ini 是否有SetEnv
等价物?
如果没有,这是否可能与IIS有关?
例如,我希望能够使用自定义_SERVER[db_user]
或_SERVER[site_key]
. 在我当前的 .htaccess 中,我有
php - 使用 SetEnv 或 php.ini 存储数据库变量的安全性如何?
我不喜欢在 document_root 下存储站点范围的加密密钥和数据库访问信息,所以我使用 Apache 的 SetEnv 和 conf.d 下的 php.ini 文件将它们与代码库分开。最大的问题是,哪个更好?在 apache vhost 文件 ( SetEnv SITEKEY 'oinkoink!'
) 或 conf.d/xxx.ini 文件 ( db_pass="oink?"
) 下的环境变量中?也许还有别的?
优点和缺点:
设置环境:
+存储在 DOCUMENT_ROOT 之外
+只有给定的 vhost 可以访问
-PHPINFO() 可见 -黑客需要直接访问/上传漏洞利用到文件
get_cfg_var:
+存储在 DOCUMENT_ROOT 之外
+PHPINFO() 不可见
-(非常糟糕) 包含所有定义的 ini 变量,因此每个 vhost 都可以通过 (ini_get_all) 查询它们,因此在共享 vhost 环境中不可用
apache - 如果不在 CGI 模式下,Apache 的 SetEnv 指令是否有效?
从这里引用:
设置一个内部环境变量,然后可供 Apache HTTP Server 模块使用,并传递给 CGI 脚本和 SSI 页面。
它适用于直接嵌入到 Apache 中的 mod_php 或 mod_perl 吗?
environment-variables - 使用 setenv 然后进行 dlopen 调用的问题
我正在使用 setenv 设置 DYLD_LIBRARY_PATH,因此当我执行 dlopen() 时,它将具有找到我的 .dylib 的正确路径,但是当我执行 dlopen() 时,它似乎没有搜索我添加到 DYLD_LIBRARY_PATH 的路径。
从我可以收集到的内容中,我对 DYLD_LIBRARY_PATH 的更改在重新执行我的过程之前不会生效。它是否正确?
此外,如果这是正确的,有没有办法设置 DYLD_LIBRARY_PATH 并让我的更改工作而无需重置我的流程。
哦,是的,我在 MAC OSX 上编写了这段代码。
提前致谢。
php - 在 Apache 中使用 SetEnv:我在哪里以及如何做到这一点?
我想在本地运行我正在开发的应用程序。这里有关于如何配置的说明:http: //devcenter.heroku.com/articles/facebook#working_locally in 2)。我正在使用 PHP,所以我将使用 Apache。感谢 WampServer,我已经运行了一个 PHP 项目,但我不知道也不明白它是如何工作的。
现在我想使用 SetEnv 为我的本地应用程序的 VirtualHost 设置环境变量,如上面的链接中所述(对于 FB 变量)。但我不知道我要写什么:
一些文件?
或者在某个地方使用 cmd.exe 中的 setEnv 指令?
我还没有找到进一步的解释,所以完全迷路了。
非常感谢您的帮助
macos - 我可以在 Mac OS X 上 fork 后调用 chdir 或 setenv 吗?
在 OS X 上,fork 的手册页这样说:
您可以在子进程中执行的操作是有限制的。为了完全安全,您应该限制自己只执行异步信号安全操作,直到调用其中一个 exec 函数。任何框架或库中的所有 API,包括全局数据符号,都应该在 fork() 之后被假定为不安全,除非明确记录为安全或异步信号安全。如果需要在子进程中使用这些框架,则必须执行。在这种情况下,执行自己是合理的。
根据手册页的页脚,这可能已经存在很长时间了:
第 4 次伯克利分发 1993 年 6 月 4 日 第 4 次伯克利分发
我原以为 chdir(2) 在 fork() 和 exec() 之间调用是安全的,但它的手册页并没有说它对于异步调用是安全的。事实上,它不安全吗?如果是这样,我真的希望在 fork() 之前更改目录吗?对我来说似乎不合理。
setenv(3) 也是如此。考虑到它调用 malloc(),我猜它可能不安全。但是没有等效的 execvp 可以让我通过环境。具体来说, execvp 搜索 PATH。我能找到的最接近的具有环境参数的等价物 execve() 不会搜索 PATH。
php - “SetEnv”通过 php.ini 文件
我正在使用 FuelPHP,环境信息无法通过框架 htaccess 文件传递给我的命令行脚本。我读到我可以通过修改我的 php.ini 文件来设置相同的值。我在我的本地主机上使用 XAMPP,但它似乎不起作用—— getenv('FUEL_ENV') 什么也不返回。我错过了一些东西。
c++ - 每个进程的setenv?
我正在使用 setenv 动态分配文件名,如下所示:
我很好奇这是否是每个进程?
如果我有多个进程运行此代码但采用不同的文件名,是否会有任何冲突?
可以说我有过程1
和过程2
我这样做会有什么问题吗?
谢谢。
php - 如何在 PHP 调用的 shell 脚本中访问环境变量?
这是我在 Apaches VirtualHost 容器中设置变量的方法
现在,PHP 可以完美地访问这个变量:
但是,如果我从我的 PHP 代码中调用 shell 脚本
MY_VAR
内为空/path/to/myscript
。
但是,如果我像这样修改调用,它将起作用:
有没有更好的方法将所有环境变量传递给 shell 脚本?因为我需要通过多个。
我还尝试了system()、exec()、反引号和shell_exec()。它们都表现出与passthru()相同的行为。
.htaccess - SetEnvIf HTTP_HOST 不工作
我无法让它在 .htaccess 的这一部分工作,IfDefine
永远不会运行。我在做什么错,setenvif
mod已启用。
这基于:使用 mod_rewrite 我可以在 RewriteCond 中指定 RewriteBase 吗?
编辑: 还有其他方法可以完成上述操作吗?