【问题标题】:Request Entity Too Large PHP CURL请求实体太大 PHP CURL
【发布时间】:2021-09-25 04:51:15
【问题描述】:

我已经制作了一个表单来上传 2 张图片并将它们发送到 SwiftDil API。我不确定哪里出了问题,但最后我收到一条错误消息:413 Request Entity Too Large。

首先,我将文件保存在服务器上的一个目录中。然后我使用 CURL 和 curl_file_create() 将图像从该目录发送到 SwiftDil。

我可以看到图像存储在目录中。所以我不确定错误是来自服务器还是来自 curl 函数。

$fields = array(
    'front_side'        => curl_file_create('temp/' . $_FILES['front_side']['name']),
    'back_side'         => curl_file_create('temp/' . $_FILES['front_side']['name']),
    'type'              => $document_type,
    'document_number'   => $document_number,
    'issuing_country'   => $issuing_country
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url . "customers/" . $customer_id . '/documents');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Authorization: Bearer $newToken",
    "Cache-Control: no-cache"
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

最大 500kb 的文件可以正常发送,但所有更大的文件都会返回 413 错误。我不知道它是否与运行脚本的服务器有关。 (我只能看到文件实际上是上传到服务器的)

【问题讨论】:

  • 必须检查 php.ini 的最大文件大小,如果你在 nginx 或 apache 后面,你也应该检查这些配置

标签: php curl


【解决方案1】:

肯定是服务器问题。 413 表示您要上传的内容太大。如果您需要上传更大的文件,请联系 api 服务器管理员以增加最大上传大小。 (除非您是服务器管理员,在这种情况下,您可能应该将问题提交给 serverfault.com 或 superuser.com)

【讨论】:

    【解决方案2】:

    在我的情况下,当我错误地发送 GET 请求而不是 POST 时返回了此错误

    【讨论】:

      猜你喜欢
      • 2011-04-12
      • 2015-10-04
      • 2019-03-17
      • 2012-02-12
      • 2016-11-08
      • 2014-12-30
      • 2018-10-22
      • 2014-12-23
      • 2021-12-17
      相关资源
      最近更新 更多