【问题标题】:CakePHP console gives error "Undefined index: HTTP_HOST"CakePHP 控制台给出错误“未定义的索引:HTTP_HOST”
【发布时间】:2013-09-18 09:39:37
【问题描述】:

我的APP/Config/config.php 中有一个设置我有一行定义主机:

define('SITE_URL','http://'.$_SERVER['HTTP_HOST']);

每当我运行蛋糕控制台时,我都会收到错误消息:

Notice (8): Undefined index: HTTP_HOST [APP/Config/config.php, line 144]
Code Context
include - APP/Config/config.php, line 144
PhpReader::read() - CORE/Cake/Configure/PhpReader.php, line 80
Configure::load() - CORE/Cake/Core/Configure.php, line 267
include - APP/Config/bootstrap.php, line 190
Configure::bootstrap() - CORE/Cake/Core/Configure.php, line 92
require - CORE/Cake/bootstrap.php, line 146
ShellDispatcher::_bootstrap() - CORE/Cake/Console/ShellDispatcher.php, line 131
ShellDispatcher::_initEnvironment() - CORE/Cake/Console/ShellDispatcher.php, line 101
ShellDispatcher::__construct() - CORE/Cake/Console/ShellDispatcher.php, line 57
ShellDispatcher::run() - CORE/Cake/Console/ShellDispatcher.php, line 68
[main] - APP/Console/cake.php, line 33

为什么会出现这个问题,我该如何解决这个问题?

【问题讨论】:

    标签: cakephp-2.0 settings cake-console


    【解决方案1】:

    因为你是从控制台运行的,(cakePHP 使用 PHP-CLI)

    $_SERVER['HTTP_HOST']
    

    仅在从浏览器(网络服务器)运行时填充

    【讨论】:

      【解决方案2】:

      @Braian 是对的。

      您可以在配置文件中执行以下操作:

      if(php_sapi_name() === 'cli') { 
          define('SITE_URL','http://{DEFAULT HOST HERE};
      } else {
          define('SITE_URL','http://'.$_SERVER['HTTP_HOST']);
      }
      

      或者,您可以查询数据库以获取某种主机设置 - 如果您的主机因环境而异 - 并使用 Configure::write 在运行控制台脚本主逻辑之前设置您的配置值。

      【讨论】:

        猜你喜欢
        • 2013-07-19
        • 2014-12-10
        • 2022-01-25
        • 2012-09-30
        • 2015-03-31
        • 2018-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多