【问题标题】:Why am i getting Undefined index: HTTP_HOST error?为什么我收到未定义的索引:HTTP_HOST 错误?
【发布时间】:2012-09-30 20:27:46
【问题描述】:

我正在使用 Facebook SDK 在我自己的 Facebook 页面上发布一些测试墙帖子。当我在浏览器上运行脚本时它工作正常,但是当我从终端运行它时,它给了我如下错误,我不知道出了什么问题,请帮忙。我想每 6 小时使用 php CRON 脚本在我的 Facebook 页面上发布一次。

未定义索引:Facebook/src/base_facebook.php 中的 HTTP_HOST 错误

【问题讨论】:

    标签: php facebook cron


    【解决方案1】:

    cron 执行 PHP 不像 apache 的模块,所以很多环境变量不是服务器设置的。从 cron 执行时,您的 PHP 脚本就像 GCI 之一,更准确地说是它的 CLI(命令行界面 - php-cli)。所以你可以想象,没有 Web 服务器,也没有 HTTP_HOST。

    PS:您可以将数据(url、主机名或任何您喜欢的)作为命令行参数(环境变量)传输到 PHP:Command line usage

    加法:

    $php -f cronjob.php HTTP_HOST=www.mysite.com #example
    
    
    <?php
        // cronjob.php
        $host = $_GET['HTTP_HOST']; // Get the host via GET params
    ?>
    

    【讨论】:

    • @Mogria,我在上面添加了补充内容。
    【解决方案2】:

    如果您从终端或 cron 作业运行脚本,则没有 HTTP 环境。

    一个可能的解决方案是使用wget http://.../parameters 而不是php scriptname 运行脚本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-19
      • 2014-03-31
      • 1970-01-01
      • 2013-04-07
      • 1970-01-01
      • 1970-01-01
      • 2012-12-07
      相关资源
      最近更新 更多