使用 curl 的文件 post 有大小限制吗?

Is there any size limit to post a file using curl?

我需要 post 将最大 50 MB 的文件发送到 Telegram 机器人 API。

现在我正在使用 Curl 并且所有内容都经过测试并成功通过。这意味着我只能发送小文件(我在测试中无法发送 8. 1 MB 的文件)。因此,如果我发送大文件(假设超过 8 MB),所有 $_POST 变量都是空的,没有任何意义 posted.

问题:使用curl发送文件有什么限制吗?因为我要求我的服务器管理员在php.ini增加相关配置,但他们回答说不是php.ini的问题,curl没有限制。

上传限制是一项安全功能。没有它们,流氓程序或攻击者可能会向您的服务器提供连续的数据流,直到您的硬盘已满,从而导致整个服务器无法使用。

从安全的角度来看,限制 传出 数据并不是特别有用,据我所知,Curl 库和 PHP 本身都没有强加任何限制。

您的症状表明问题出在目标服​​务器上。由于您似乎可以访问它(您提到变空 $_POST),我建议您在那里验证上传限制。这是您可以自己做(并且经常更改)的事情,您不必询问服务器管理员。主要涉及的指令包括:

  • post_max_size
  • upload_max_filesize
  • max_file_uploads
  • max_input_time

您可以使用 phpinfo()ini_get() 检查它们,您可以更改它们 the usual way