PHP - 使用php-fpm

时间:2017-11-20 12:45:34

标签: php nginx http-headers fpm

我正在尝试将我的PHP Web应用程序(RESTful API)从Apache转换为Nginx。

它在Apache中运行良好,但代码库目前使用apache_request_headers()方法来检索我们用于身份验证的自定义标头。示例标题为auth_system_signature

我原本希望用getallheaders()替换对该函数的调用是一个简单的例子。但是,它似乎是this method is undefined when using php-fpm

我看到各种"workarounds" on the net将定义该函数,如果它不存在,但它们似乎都在$_SERVER上循环,而apache_request_headers()没有我的自定义标题。我很确定如果确实如此,那么我们首先不会使用php-cgi

有没有办法用php-fpm检索请求中的自定义标头,还是只需要转到使用chromedriver

上下文

  • 操作系统:Ubuntu 16.04
  • PHP版本:7.0。

1 个答案:

答案 0 :(得分:2)

事实证明,默认情况下,Nginx不会传递其中包含下划线的标头。您可以使用连字符as others have done替换自定义标题的下划线,也可以update your nginx.conf file设置:

underscores_in_headers on

现在,您的标题将显示在$_SERVER超全局中,并带有HTTP_前缀。他们也将全部上限。