为什么getenv()仅在从终端运行时才返回变量,而不是通过Web服务器返回变量

麦克唐纳德

我试图在PHP应用程序中使用自定义环境变量进行环境检测。我已经在/ etc / environment中设置了系统范围的变量,重新启动,并使用printenv检查它是否可以通过终端看到

我还检查了在命令行运行PHP时它是否可见:

php -r 'echo getenv("LOCAL_DEVELOPMENT");'

//returns 'true' as expected

但是,当我从网页脚本尝试时,找不到该变量:

var_dump(getenv("LOCAL_DEVELOPMENT"));

//returns 'boolean false' (not expected)

我正在将Ubuntu 12.04 LTS与PHP 5.4和Apache 2.2一起使用。

为什么从Web脚本中看不到变量,我该如何解决?

抹布松饼420

假设您使用的是apache服务器,出于安全性考虑,我认为它仅限于Apache,受系统环境变量的限制。

您应该在apache之类的环境中设置env变量,SetEnv LOCAL_DEVELOPMENT true甚至更好SetEnv APPLICATION_ENV development,通常将其视为标准。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我的 Go Web 服务器在 Docker 容器中运行时返回“404 page not found”?

为什么通过函数运行时请求返回错误?

为什么 IIS 重写规则在设置服务器变量时返回错误?

在运行时更改swagger-ui服务器变量

当我们返回本地地址而不返回本地变量时,为什么会产生运行时错误?

Kestrel服务器在后台运行时不起作用,为什么?

服务器运行时,为什么PHP ftp_connect失败?

服务器运行时,为什么PHP文件没有包含在文件中?

在Apache Tomcat服务器上运行时,为什么无法访问.properties文件?

Pygame 仅在从编辑器运行时工作

通过sudo和su运行时,为什么PATH变量不同?

为什么Ruby调试器在运行时返回与代码不同的值?

为什么signtool.exe仅在以管理员身份运行时才找到证书?

为什么Left函数返回运行时错误'424'?

当Django服务器在VSCode上运行时如何“打开”锁定的终端(这里按下了什么热键)?

当Django服务器在VSCode上运行时如何“打开”锁定的终端(这里按下了什么热键)?

量角器conf.js仅在通过批处理脚本的变量运行时给出“未找到规格”

仅在从sbt shell运行时才获取scala sbt仅测试参数

为什么我的脚本在从 udev 运行时失败?

为什么在此延迟语句(无返回)运行时不返回返回值?

为什么 gdalinfo --version 在终端上运行时与通过 python 运行时显示不同的输出?

为什么在运行时而不是在编译时评估使用constexpr初始化变量

在终端中运行时,Node服务器.js文件中未定义Require

从 Jupyter 运行时,外部函数返回数据帧但不返回变量

为什么此脚本仅在直接从Powershell运行而不从其他脚本运行时才起作用

Android服务器套接字仅在首次运行时读取输入

为什么我的动态查询在 SQL 服务器中返回 NUL 而不是 NULL?

puppeteer 在本地工作,但在从 aws ec2 ubuntu 服务器运行时会导致 cloudflare 保护

服务器在node.js中返回的打印变量