【问题标题】:Director::protocolAndHost() lacks sufficient information - HTTP_HOST not setDirector::protocolAndHost() 缺少足够的信息 - HTTP_HOST 未设置
【发布时间】:2017-07-06 18:07:01
【问题描述】:

我收到以下错误:

PHP Warning: Director::protocolAndHost() lacks sufficient information - HTTP_HOST not set. in /<path/to/project>/framework/control/Director.php on line 488

但是,当我将 print_r($_SERVER['HTTP_HOST']); 添加到 mysite/_config.php 时,我得到了相应的网址。

任何想法这可能是什么?在同一主机上开发数周后,它昨天突然开始。它只发生在我的远程环境中。本地工作正常。我没有进行任何配置更改。

我已经查看了this post on SS forums,以及this tiny post,因为我使用的是持续部署系统,但到目前为止都没有帮助我。

任何想法这可能是什么或我应该在哪里寻找?非常感谢。

我的项目使用:

  • SilverStripe 3.6.0
  • PHP 5.5.9
  • Apache 2.4.7

【问题讨论】:

  • 这通常发生在运行 CLI 时。那是你在做什么?如果是这样,请务必在 _ss_environment.php 中设置 $_FILE_TO_URL_MAPPING。
  • @UncleCheese 我没有运行 CLI。实际上,事实证明这个错误已经发生了几个星期,并且对我的项目来说是非破坏性的。现在才在研究另一个问题时注意到它。我将看看我明天是否可以按照您的建议通过添加 $_FILE_TO_URL_MAPPING 来清除它。
  • 对于我遇到的 cli 问题:/** * This is used by sake to know which directory points to which URL */ global $_FILE_TO_URL_MAPPING; $_FILE_TO_URL_MAPPING[__DIR__] = 'http://localhost:32773/'; 喜欢写在这里:gist.github.com/ryanwachtl/5793212

标签: php apache silverstripe


【解决方案1】:

我遇到了同样的问题。为了解决这个问题,我在 _ss_environment.php 或 mysite/_config.php 文件中添加了以下代码。

global $_FILE_TO_URL_MAPPING;
$_FILE_TO_URL_MAPPING[__DIR__] = 'http://example.com';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多