首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >file_get_contents('php://input')不工作于Laravel+Octane / Swoole

file_get_contents('php://input')不工作于Laravel+Octane / Swoole
EN

Stack Overflow用户
提问于 2021-07-29 20:21:22
回答 1查看 497关注 0票数 0

我从拉拉维尔8号迁移到拉力维尔8+辛烷/斯沃尔。所有的功能都很好,但是php://input总是空的。此外,我检查$_POST和$_SERVER值。

file_get_contents('php://input')AWS SNS消息验证器使用。

任何阅读php://input的选择

PHP代码

代码语言:javascript
复制
echo "php://input: ".file_get_contents('php://input');

使用

代码语言:javascript
复制
$ curl -i -X POST --data "dataaaa" https://example.com/aws/sns/webhook
php://input: dataaaa

用Octane+Swoole

代码语言:javascript
复制
$ curl -i -X POST --data "dataaaa" https://example.com/aws/sns/webhook
php://input:
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-29 21:33:10

问题

php://input在Swoole上不可用。始终是相同的运行过程。

解决方案: PSR-7请求

代码语言:javascript
复制
use Psr\Http\Message\RequestInterface;

public function sesSubscriptionWebhook(RequestInterface $request)
{
    // $input = file_get_contents('php://input'); // dont work on swoole
    $input = $request->getBody();
}

当然,与辛烷,symfony/psr-http-message-bridgenyholm/psr7Laravel PSR-7请求的要求。

此外,如果您的问题与AWS 相关,则需要将Message::fromRawPostData()更改为Message::fromPsrRequest($request)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68582378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档