环境变量不会从 .htaccess 传递到 PHP

2024-03-22

我正在尝试将环境变量从 .htaccess 传递到 PHP。这在我的本地 WAMP 服务器上工作得很好,但在托管我的网站的服务器上,它无缘无故地失败了。

这是我的测试配置:

.htaccess:

SetEnv TEST_VARIABLE test_value

测试.php:

<pre>
getenv('TEST_VARIABLE') = <?php print getenv('TEST_VARIABLE'); ?>

getenv('REDIRECT_TEST_VARIABLE') = <?php print getenv('REDIRECT_TEST_VARIABLE'); ?>
</pre>

在我的本地服务器上,正确获取 test.php 返回:

getenv('TEST_VARIABLE') = test_value
getenv('REDIRECT_TEST_VARIABLE') = 

但在生产服务器上,它返回:

getenv('TEST_VARIABLE') = 
getenv('REDIRECT_TEST_VARIABLE') = 

我已经排除的事情:

  1. mod_env主机未安装/启用。不可能,因为那时SetEnv不会被识别,并且在处理 .htaccess 时我会得到 500。

  2. AllowOverrides in httpd.conf因为这个目录不包括FileInfo。不可能,因为这样 Apache 在遇到以下情况时会抛出错误“SetEnv not allowed here”SetEnv指令,我会再次得到 500。

  3. variables_orderphp.ini 中不包含“E”。这可以解释$_ENV超全局是空的(确实如此),但不是为什么getenv()不返回这些变量的值。

  4. 整个环境都搞砸了。不可能,因为getenv('PATH') and getenv('SERVER_NAME')仍然返回有效值。

此时我不知道什么配置可能会导致这种情况。


我认为在 .htaccess 中使用 setenv 通常不起作用。它是一个 shell 脚本命令(bash、C shell 等)。如果你的服务器does支持setenv,根据https://kb.mediatemple.net/questions/36/Using+Environment+Variables+in+PHP#gs https://kb.mediatemple.net/questions/36/Using+Environment+Variables+in+PHP#gs您需要让变量名称以 HTTP_ 开头。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

环境变量不会从 .htaccess 传递到 PHP 的相关文章

  • 克隆和引用传递问题

    所以在过去的几天里 我一直在绞尽脑汁地试图让一个类能够正确克隆 问题是克隆不会删除 重做任何引用传递 结果是 主数据对象仍然作为引用传递 从而完全抵消了克隆的效果 这是问题的简化版本 class my class private data
  • 如何修复 Laravel 中未找到的“PDF”类

    在我的 Laravel 应用程序中遇到以下错误 CollaboPDFController php 第 14 行中的 FatalErrorException 未找到 PDF 类 这是我的ColaboPDFController php
  • Codeigniter:Base_url 似乎不起作用

    我开发了一个简单的网站 可以从 Twitter 公共时间线获取推文 将其缓存 60 秒等等 我最近将主机从 Hostgator 移至 Mediatemple 我的网站之前在 Hostgator 上运行良好 我的应用程序不使用数据库连接 也不
  • 客户端和服务器端编程有什么区别?

    我有这个代码 为什么这不会将 bar 写入我的文本文件 而是警告 42 注意 这个问题的早期修订明确涉及服务器上的 PHP 和客户端上的 JavaScript 问题的本质和解决方案是相同的any当一种语言在客户端上运行而另一种语言在服务器上
  • XP及PHP MYSQL 练级系统

    我已经查看了所有提出的问题和答案 但我似乎找不到最适合我的答案 我想做的是开发一个系统 当用户达到一定的 XP 限制时 系统会进入下一个级别 它显示了下一个 XP 之前需要多少 XP So lvl1 0 gt lvl2 256 gt lvl
  • 使用php在html页面中显示bbcode

    我已经有一个 bbcode 字符串 mybbcode b Hello word b 使用 php 我想在 html 页面中以 html 格式显示它 例如 div gt b hello word b div 基本上其他人已经对你说过了 但是如
  • PHP 中 file、file_get_contents 和 fopen 之间的区别

    我是 PHP 新手 我不太确定 两者之间有什么区别file file get contents and fopen 函数 什么时候应该使用其中一个而不是另一个 前两个 file http www php net manual en func
  • 从目录中读取所有文件内容 - php

    这实际上是一个简单的任务 我想显示指定文件夹中所有文件的内容 我正在传递目录名称 echo a href row qname a 在第二页上 我正在迭代目录内容 while entryname readdir myDirectory if
  • 如何使用 RewriteRule 来为 PHP 修改 $_SERVER['REQUEST_URI'] ?

    有了这个 htaccess RewriteEngine On RewriteRule foo foo 1 here I tried L PT C etc RewriteRule index php L 我已经尝试了第一个 RewriteRu
  • php递归合并

    我需要以某种不同的方式合并一些数组 我使用 array merge recursive 然而 有一些事情我需要改变 但我不知道如何改变 这是来自 php net 的引用 但是 如果数组具有相同的数字键 则后面的值 不会覆盖原始值 但会追加
  • 限制分页页数

    objConnect mysql connect localhost root or die mysql error objDB mysql select db Test strSQL SELECT FROM UserAddedRecord
  • filter_input() 何时删除 POST 变量的斜杠?

    我创建了一个小型 PHP 脚本 它在 PHP 5 2 17 的服务器上运行magic quotes gpc指令已启用 我没有对 php ini 文件的写访问权限 并且我想从用户输入中删除所有斜杠 即使magic quotes gpc指令被关
  • 使用 DateTime 类计算日期差异时出错

    我正在尝试使用 DateTime 类 php gt 5 3 来计算 2 个日期的差异 手册中的示例简单明了 我尝试了该示例并且效果很好 但如果改变开始和结束日期 就会出现问题 this gt start date 2011 03 01 th
  • 维护 HttpUrlConnection 调用之间的会话(Native/Webview)

    让我从我做的开始desire 我想制作一个应用程序part native and part webviews Problem 维护本机和 webview 部分之间的会话 My 处理方法 this 我打算实现一个本机登录 其中我向用户展示两个
  • 让用户渲染自己的 SVG 文件的安全隐患

    我计划让网站用户上传他们自己的 SVG 文档并使用inkscape or svg2pdf 用户要么未经身份验证 要么经历一个简单的注册过程 所以我预计会有一些黑客尝试 我可以采取哪些过滤措施来最大程度地减少安全威胁 Inkscape 似乎并
  • 使用php插入sql数据库时出错

    我有一个带有 MySQL 插入查询的程序 sql INSERT INTO people person id name username password email salt VALUES person id name username p
  • 根据类别 woocommerce 更改同一产品的默认变体值

    我正在研究一种根据其所属类别显示同一产品的默认变体值的方法 例如 我出售一张带有蓝色和红色选项的卡 当用户进入 一 类别时 我希望默认值为蓝色 如果他属于第二类 则该值将为红色 我发现了一个钩子woocommerce product def
  • 使用 IntlDateFormatter 转换非公历日期

    我应该如何使用将非公历日期转换为其他日历类型IntlDateFormatter 我要转换 1392 01 02 from persian to islamic日历 我尝试了以下代码 但它没有转换日历 formatter IntlDateFo
  • 使用“默认”环境变量启动新的子进程

    我正在编写一个构建脚本来解析依赖的共享库 及其共享库等 这些共享库在正常情况下是不存在的PATH环境变量 为了使构建过程正常工作 让编译器找到这些库 PATH已更改为包含这些库的目录 构建过程是这样的 加载器脚本 更改 PATH gt 基于
  • 如何更改phpmyadmin MySQL的IP地址?

    我在 xampp 中更改了 apache 的 IP 地址 但无法连接到 MySQL 我认为问题是我的 apache 不在我的数据库的同一网络上 我的 apache 位于 192 168 1 10 而我的 MySQL 位于 127 0 0 1

随机推荐

  • 从 .lm.fit() 计算 p 值的快速方法

    我正在运行模拟并拟合线性模型 lm fit https www rdocumentation org packages pbdDMAT versions 0 4 2 topics lm fit 尽管速度极快 但该函数不提供预测变量的 p 值
  • 如何仅使用 GPX 文件进行 UI 测试

    我正在尝试使用 GPX 文件来模拟运行 UI 测试时的位置 我已在 测试位置 下选择了 GPX 文件 但这不起作用 我刚刚收到一个错误 告诉我 位置不可用 我知道 我可以进入 运行 gt 调试 然后激活 允许位置模拟 然后选择该文件作为 默
  • 从 GWT 访问 Web 服务

    有什么方法可以使用 GWT 的 WSDL 访问 Web 服务吗 以前我试图使用 ws import 生成的类 但后来有人向我指出 GWT 无法处理所有 Java 只能处理它的一个子集 因此它无法理解 ws import 类 感谢致敬 Krt
  • 为什么默认情况下不使用 Control.Monad.Instances 实现 (->)

    我正在读书LYAH http learnyouahaskell com functors applicative functors and monoids 它说我需要显式加载Control Monad Instances使以下语法起作用 f
  • 验证关联的唯一性

    给定以下课程 class Candidate has many applications has many companies through gt job offers end class JobOffer belongs to comp
  • c++ 仅读取文本文件最后一行的最快方法?

    我只想读取文本文件的最后一行 我在 UNIX 上 可以使用 Boost 我知道的所有方法都需要扫描整个文件才能获取最后一行 这根本没有效率 有没有一种有效的方法只获取最后一行 另外 我需要它足够强大 即使有问题的文本文件不断被另一个进程附加
  • 使用 c:foreach (JSP/JSTL) 迭代 ArrayList,变量不起作用

    我知道 关于我的问题有无数的例子 但我经历了很多 但无法弄清楚我的错误在哪里 我正在迭代 ArrayList TestSzenario TestSzenario 类包含一个名为 name 的字符串变量 具有适当的 getter 和 sett
  • SQLWITH子句示例[重复]

    这个问题在这里已经有答案了 我试图了解如何使用WITH条款和目的WITH clause 我所明白的是 WITH子句是普通子查询的替代品 谁能用一个小例子详细向我解释这一点 SQL WITH 子句是 Oracle 在 Oracle 9i 第
  • Spring MVC 为什么这个 Hello World 在没有注释驱动标签的情况下运行良好(与任何其他 Spring 项目不同)

    我已经开始学习 Spring MVC 阅读本教程 http viralpatel net blogs spring 3 mvc create hello world application spring 3 mvc http viralpa
  • Java中调整BufferedImage的亮度和对比度

    我正在使用一些框架处理一堆图像 而我得到的只是一堆BufferedImage对象 不幸的是 这些图像真的很暗 我想把它们调亮并稍微调整一下对比度 就像是 BufferedImage image something getImage imag
  • 假设一次有多个 AWS IAM 角色

    有时 我需要访问多个 AWS 资源 我可以使用单独的 IAM 角色单独访问这些资源 如果我需要一起使用这些资源 我目前必须找出一个非本地连接器 如果我可以同时访问这些资源 有时我可以使用 AWS 连接器同时连接这两个资源 例如 https
  • cmake find_path/find_library 检查失败

    我在用着CMake 2 8 2 http www cmake org Wiki CMake 2 8 2 Docs版本 该项目使用大量外部文件和自定义库 无法通过 find package 获得 并且有一长串元素 如下所示 find path
  • 执行maven命令后出现“您指定的目标需要执行一个项目但此目录中没有POM”错误

    我有一个pom xml in C Users AArmijos Desktop Factura Electronica MIyT componentes 1 0 4 sources pom xml我执行了 mvn install insta
  • 单击表格行删除按钮后删除表格行

    解决方案可以使用 jQuery 或纯 JavaScript 我想在用户单击表行单元格中包含的相应按钮后删除表行 例如 table tr td td tr table
  • java.lang.Integer 无法转换为 java.math.BigInteger

    我是 hibernate 和 Mssql 的新手 我正在研究 MySQL 到 Mssql 的集成 我面临这个异常 java lang ClassCastException java lang Integer无法转换为java math Bi
  • 是否可以使用 flutter 相机插件流式传输视频?

    我一直在使用相机插件 我知道可以通过CameraController与功能start stopVideoRecording 这些函数将采用文件的路径作为输入 我希望能够在录制时将该视频流式传输到服务器 是否可以通过相机插件的当前功能以某种方
  • 如何控制画布对象的 z-index?

    当我在画布上绘制一些对象时 有时新对象会放在旧对象下面 例如 我将一些图像添加到画布上 然后画一条线 当我运行代码时 图像位于最上面 我在网上搜索了解决方案 但没有一个直接的解决方案 在某些情况下 它被视为资源管理器中的一个错误 我如何控制
  • 如何在玩笑测试中模拟 json.parse()

    我的代码中有一个 try catch 当代码落入catch它的一部分命中了 JSON parse catch err JSON parse err message 代码可以工作 但测试失败 测试只是断言尝试中发生了一些事情 try popU
  • 如何展开到导航堆栈上的第一个视图控制器

    我在将视图展开到登录屏幕时遇到问题 故事板结构如下 故事板结构 https i stack imgur com Ea1t8 png 该应用程序的用户流程如下 用户在 LoginVC 上登录 gt 通过模态 Segue 进入主选项卡栏屏幕 g
  • 环境变量不会从 .htaccess 传递到 PHP

    我正在尝试将环境变量从 htaccess 传递到 PHP 这在我的本地 WAMP 服务器上工作得很好 但在托管我的网站的服务器上 它无缘无故地失败了 这是我的测试配置 htaccess SetEnv TEST VARIABLE test v