首页 > 解决方案 > 请求实体太大 PHP CURL

问题描述

我制作了一个表单来上传 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 错误。我不知道它是否与运行脚本的服务器有关。(我只能看到文件实际上是上传到服务器的)

标签: phpcurl

解决方案


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


推荐阅读