我需要将最大 50 MB 的文件发布到 Telegram bot API。
现在我正在使用 Curl 并且所有内容都经过测试并成功通过。这意味着我只能发送小文件(在我的测试中我无法发送 8. 1 MB 的文件)。因此,如果我发送大文件(可以说超过 8 MB),所有$_POST
变量都是空的,这意味着没有发布任何内容。
问题:使用 curl 发送文件有什么限制吗?因为我要求我的服务器管理员增加相关配置php.ini
,但他们回答说不是php.ini
问题,curl没有限制。
上传限制是一项安全功能。如果没有它们,流氓程序或攻击者可能会向您的服务器提供连续的数据流,直到您的硬盘已满,从而使整个服务器无法使用。
从安全的角度来看,限制传出数据并不是特别有用,而且据我所知,Curl 库和 PHP 本身都没有施加任何限制。
您的症状表明问题出在目标服务器上。由于您似乎可以访问它(您提到变空$_POST
),我建议您在那里验证上传限制。这是您可以自己做(并且经常改变)的事情,您不必询问服务器管理员。主要涉及的指令包括:
phpinfo()
您可以使用or检查它们,ini_get()
并且可以按通常的方式更改它们。