octane加速后使用http客户端,第三方接受不到参数

1. 运行环境

windows + docker

1). 当前使用的 Laravel 版本?

v10.35.0

2). 当前使用的 php/php-fpm 版本?

PHP 版本: v8.1.26

php-fpm 版本: v8.1.26

3). 当前系统

Windows 10

4). 业务环境

开发环境

5). 相关软件版本

Octane v2.1.2

2. 问题描述?

使用HTTP客户端发起请求,第三方接受不到参数

关键代码

// 记录日志
$url = 'https://****.com';
$header = [
    'sign' => 123,
];
$data = [
    'username' => '123'
];
Log::channel('test')->info('test登录', [
    'url' => $url,
    'header' => $header,
    'data' => $data,
]);
$response = Http::acceptJson()
    ->withoutVerifying()
    ->withHeaders($header)
    ->post($url, $data);

3. 您期望得到的结果?

第三方接口能收到到参数

4. 您实际得到的结果?

第三方接口,入参日志
[2023-12-15T17:02:47+08:00][info] 用户登录入参: post: []

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 5
sanders

你把第三方的域名用 hosts 指向内网某个地址接受一下试试,octane 应该影响不到请求发送。

4个月前 评论
陈先生

如果对方要求的是 application/json 的请求格式,那么你这么写确实是接受不到的。 你只使用了 acceptJson 来表示你希望对方返回的是 JSON 格式。 如果对方需要的也是 application/json 的请求头,那你应该加上 ->asJson()

4个月前 评论
luscio (楼主) 4个月前

不知道
之前用 dcat-admin + octane,菜单栏 404,马上换回 fpm
(opcache虽比不过常驻型 但是稳定啊)

我个人感觉, 给自己踩那些坑 还不如换语言舒心。

4个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!