0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

getallheaders()関数がnginx で使えない件について

Last updated at Posted at 2020-10-31

#追記
本記事について@tadsanさんからアドバイスをいただきました

現在おそらくいちばんよく使われてるのはralouphie/getallheadersで、guzzle/psr7もこれに依存していて、 Content-Length や Content-Type についてのワークアラウンドが入っています。
Nyholm/psr7-server/ServerRequestCreator.phpはすこし実装が異なっていますが、PHP: PHP による HTTP 認証を使わなければ特に問題は起こらないでしょう。 (2020年現在ではあえて使われることは少ないと思います)

どうやらライブラリで解決できるそうですね、、、

オレオレフレームワーク自作している時に詰まったので残しときます

エラーで未定義の関数と指摘されたのでggった所自前で用意する必要がありそう

php
<?php
  if (!function_exists('getallheaders')) {
    function getallheaders() {
      $headers = array();

      foreach ($_SERVER as $name => $value) {
        if (substr($name, 0, 5) == 'HTTP_') {
          $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
        }
      }

      return $headers;
    }
  }
  
  // ヘッダー情報を出力
  print_r(getallheaders());
?>

無事出力はできたんですけどこれだと工数食うわ当初の目的とずれるのでApacheサーバに変えときます、、、

#引用先
https://gist.github.com/ryonakae/9f5e99c92ac9986791166438aa14cc53

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?