Работая над приложением Facebook, настроенным на Heroku, использовал git для загрузки своего кода, используя xampp для веб-сервера apache. Пришлось настроить xampp для прослушивания на другом порту, потому что: 80 занято, поэтому изменил httpd.conf на Listen 8080 и добавил виртуальные хосты, чтобы я мог настроить переменные среды facebook в соответствии с требованиями приложения Heroku facebook. Чтобы заставить apache работать без ошибок, я обнаружил, что на веб-сайтах httpd-ssl.conf мне также пришлось изменить порт для SSL. Я изменил это на 4430 на основе рекомендации другого сайта. Apache / xampp теперь нормально запускается, но я получаю сообщения об ошибках из кода Heroku Facebook, когда я к нему обращаюсь (такие же ошибки, как через 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 на их платформе. Кажется, в нем довольно много ошибок, кроме тех, что я перечислил.