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: []
你把第三方的域名用 hosts 指向内网某个地址接受一下试试,octane 应该影响不到请求发送。
如果对方要求的是
application/json
的请求格式,那么你这么写确实是接受不到的。 你只使用了acceptJson
来表示你希望对方返回的是 JSON 格式。 如果对方需要的也是application/json
的请求头,那你应该加上->asJson()
不知道
之前用
dcat-admin
+octane
,菜单栏404
,马上换回fpm
。(opcache虽比不过常驻型 但是稳定啊)
我个人感觉, 给自己踩那些坑 还不如换语言舒心。
emm 没遇到过呢