访问AWS EB PHP 5.4上的http X_*头
我已将Wordpress部署到AWS EB平台PHP5.4.45。当我使用cookie授权从Angular frontend向API发出请求时,我需要包含访问AWS EB PHP 5.4上的http X_*头,php,wordpress,amazon-web-services,amazon-elastic-beanstalk,wordpress-rest-api,Php,Wordpress,Amazon Web Services,Amazon Elastic Beanstalk,Wordpress Rest Api,我已将Wordpress部署到AWS EB平台PHP5.4.45。当我使用cookie授权从Angular frontend向API发出请求时,我需要包含X\u WP\u NONCE头,否则,Wordpress将忽略我的认证cookie 问题在于,在EB部署上,$\u服务器变量中没有X\u WP\u NOCE。没有HTTP\u X\u WP\u NONCE。根本就没有临时的 它看起来像是所有以X.*为前缀的标题都被去掉了 curl -XGET -H 'A: this works' -H 'X_A
X\u WP\u NONCE
头,否则,Wordpress将忽略我的认证cookie
问题在于,在EB部署上,$\u服务器
变量中没有X\u WP\u NOCE
。没有HTTP\u X\u WP\u NONCE。根本就没有临时的
它看起来像是所有以X.*
为前缀的标题都被去掉了
curl -XGET -H 'A: this works' -H 'X_A: this does not work' http://example.com/
var_dump($_SERVER);
--->
array(76) {
...
["HTTP_A"]=>
string(19) "this works"
...
// But no HTTP_X_A variable
)
不幸的是,X\u WP\u NONCE
是wordpress核心的一部分,我无法编辑此代码
如何告诉EB将X.*
头传递给php
谢谢,
更新1:apache_请求_headers()确实看到了所需的头。因为我已经向repo提交了自定义
wp config.php
(它从环境变量读取密钥和密码,请不要Booo),所以我可以添加一个临时解决方法
if (function_exists('apache_request_headers')) {
$all_headers = apache_request_headers();
$_SERVER['HTTP_X_WP_NONCE'] = $all_headers['HTTP_X_WP_NONCE'];
}
什么是AWS EBT平台?没有缩写为EBT的服务。你是说弹性豆茎吗?@MarkB Elastic Beanstalk,人们偶尔称之为EBTBeanstalk指的是豆科植物的茎。如果你(错误地)把它分成两个词,那就是“豆茎”而不是“豆子谈话”。考虑到在谷歌搜索“AWS EBT”时,这个问题是最重要的结果,我认为很安全的结论是,在野外没有人将弹性豆茎称为“EBT”。我建议使用“EB”来避免混淆,因为它总是缩写为堆栈上溢出。