【问题标题】:$_SERVER['DOCUMENT_URI'] is empty$_SERVER['DOCUMENT_URI'] 为空
【发布时间】:2020-07-30 12:09:59
【问题描述】:

我迁移了服务器,现在这个变量 $_SERVER['DOCUMENT_URI'] 停止工作,我该怎么办?

我暂时使用此解决方案:$uri_parts = explode('?', $_SERVER['REQUEST_URI'], 2)[0];,但有很多代码使用$_SERVER['DOCUMENT_URI'],我不想全部更改。

【问题讨论】:

  • 向我们展示之前和之后的内容
  • 如果您不想更改“all of that”,那么只需将全局包含文件顶部的 $_SERVER['DOCUMENT_URI'] 分配给您从 uri 拆分行获得的内容的代码。我个人从未在任何事情上使用过DOCUMENT_URI。因为它从未在我工作过的任何环境中工作过。
  • @IncredibleHat 我确实考虑过,但你知道它不再工作的原因吗?我没有设置旧服务器,所以我不知道他们做了什么来让它工作?
  • 两个 Web 服务器的配置是否相同?
  • 99% 确定你的 apache 配置不同

标签: php apache php-7.3


【解决方案1】:

DOCUMENT_URI 据我所知不是标准变量。不管怎样,$_SERVER superglobal 有两点需要注意:

  • 它不是只读的。
  • 它从多个来源填充,包括环境变量。

您可以通过您喜欢的任何方式设置一个环境变量(例如,如果您碰巧使用 Apache,则为 SetEnv directive),或者直接将您自己的值放入 PHP 变量中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-03
    • 2013-06-01
    • 1970-01-01
    • 2016-01-27
    • 2011-05-29
    • 2020-12-20
    • 1970-01-01
    相关资源
    最近更新 更多