2016-03-20 14 views
0

初めてヘロクユーザー!Heroku PHP APIにリクエストを送信するときにリクエストヘッダーが見つかりません

public function authenticateAppKey() { 
    if (!isset($_SERVER['HTTP_APP_KEY'])) { 
     error('App Key Not Supplied'); 
     exit; 
    } else if ($_SERVER['HTTP_APP_KEY'] != self::$api_key) { 
     error('App Key Incorrect'); 
     exit; 
    } 
} 

それはいつも、私はHerokuのに切り替えるまで、これは常にアップしてきましたApp Key Not Supplied

を返して、私が見逃している場合は疑問に思っ:

php APIはiOSアプリの認証方法がありますHerokuのセットアップ中に設定します。

enter image description here

私もhttps://github.com/travstoll/heroku-buildpack-phpは参考になりました場合、サーバー

展開ログにインストールされている:

-----> Using set buildpack heroku/php 
-----> PHP app detected 
-----> Bootstrapping... 
-----> Installing platform packages... 
     NOTICE: No runtime required in composer.lock; using PHP ^5.5.17 
     - apache (2.4.18) 
     - nginx (1.8.1) 
     - php (5.6.19) 
-----> Installing dependencies... 
     Composer version 1.0.0-beta1 2016-03-03 15:15:10 
-----> Preparing runtime environment... 
     NOTICE: No Procfile, using 'web: vendor/bin/heroku-php-apache2'. 
-----> Checking for additional extensions to install... 
-----> Discovering process types 
     Procfile declares types -> web 
-----> Compressing... 
     Done: 13M 
-----> Launching... 
     Released v43 
     https://<address>.herokuapp.com/ deployed to Heroku 

答えて

1

OKが問題を発見し、固定

は、これらは私のビルドパックです。

リクエストヘッダー変数にはアンダースコアを使用しないでください。これは、Herokuに移動して以来、強調されています。

私の状況では、APP_KEYはコードに表示されず、​​に変更され、すべてが修正されました。

+0

下線はHTTPヘッダー名では有効ではないため、Herokuは正しく動作しています。配列キーの下線を誤解しているかもしれません。ヘッダー "App-Key"を送ると、PHPはそれを "HTTP_APP_KEY"に変換します。 – dzuelke

+0

私は今、別のサーバー上でAPP_KEYを行っており、Herokuまでは問題ありませんでした – RichAppz

+0

あなたには良いです。 HTTP仕様によればまだそれは合法ではなく、Nginxのような他のWebサーバもヘッダにアンダースコアを付けてドロップします。 – dzuelke

関連する問題