【问题标题】:Notice: Undefined index: HTTP_X_FORWARDED_PROTO in C:\Users\me\project\index.php on line 4注意:未定义索引:第 4 行 C:\Users\me\project\index.php 中的 HTTP_X_FORWARDED_PROTO
【发布时间】:2012-02-08 10:41:54
【问题描述】:

在 Facebook 应用程序上工作,在 Heroku 上设置,使用 git 下载他们的代码,使用 xampp 用于 apache Web 服务器。必须将 xampp 设置为侦听不同的端口,因为 :80 被占用,所以将 httpd.conf 更改为 Listen 8080 并添加了虚拟主机,这样我就可以根据 Heroku facebook 应用程序的要求设置 facebook 环境变量。为了让 apache 正常运行,发现网站说我还必须在 httpd-ssl.conf 中更改 SSL 的端口。我根据另一个网站的建议将其更改为 4430。 Apache/xampp 现在可以正常启动,但是当我转到 Facebook Heroku 代码时会收到错误消息(无论是通过 apps.facebook.com/myapp 还是直接在 localhost:8080 都会出现相同的错误)错误如下:

Notice: Undefined index: HTTP_X_FORWARDED_PROTO in C:\Users\me\project\index.php on line 4

Notice: Undefined index: HTTP_X_FORWARDED_PROTO in C:\Users\me\project\AppInfo.php on line 36

Notice: Undefined index: HTTP_X_FORWARDED_PROTO in C:\Users\me\project\AppInfo.php on line 36

Notice: Undefined index: access_token in C:\Users\me\project\FBUtils.php on line 108

问题开始的第一个文件的顶行:

<?php

// Enforce https on production
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == "http" && $_SERVER['REMOTE_ADDR'] != '127.0.0.1' && $_SE    RVER['REMOTE_ADDR'] != 'localhost') {

  header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);

  exit();

}

请注意,此代码由 Heroku/GitHub 在其平台上设置 Facebook 应用程序时提供。除了我列出的那些之外,它似乎还有很多错误。

【问题讨论】:

标签: php heroku xampp


【解决方案1】:

此错误表示 $_SERVER 数组中不存在密钥 HTTP_X_FORWARDED_PROTO。 如果您想避免此类错误,您必须检查数组示例中是否存在此类键:

if(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == "http" && ...)

或者像这样使用getenv方法:

if (getenv('HTTP_X_FORWARDED_PROTO') == "http" && getenv('REMOTE_ADDR') != '127.0.0.1' && getenv('REMOTE_ADDR') != 'localhost')

【讨论】:

  • 好主意,但是如果您查看我提供的代码,您会发现所有索引都在单引号或双引号内,包括 HTTP_X_FORWARDED_PROTO。
  • 谢谢。 isset 是个好主意,但是 Heroku/GitHub 上的这个程序似乎有太多错误。我想我会为 facebook 应用程序使用不同的代码库。谢谢!
  • 如果有人在使用此代码,这里是原始代码:github.com/heroku/facebook-template-php(2012 年 1 月 11 日拉)这里有一些帮助:mantisforge.org/dev/gitstats/… 然后对所有未定义的索引执行此操作,然后仍然以毕竟是“无效的凭据”!所以我的建议是为代码库寻找其他东西,例如:phpmaster.com/integrating-with-facebookthinkdiff.net/facebook/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-26
  • 2012-12-13
  • 1970-01-01
  • 2019-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多