我有一个应用程序,可以向 Apache 共享主机发送相对较大的 POST 请求。
在服务器上,有一个 .php
文件,其中包含
file_get_contents("php://input")
这应该读取 POST 原始正文。只要 POST 正文长度小于 16000 个字符,它就可以工作。如果有更多,上面的代码返回一个空字符串。
我希望归还整个尸体,无论其长度如何。
默认情况下,服务器的
php.ini
中有一个post_max_size = 64M
设置。自己手动设置并不能缓解这个问题。客户端代码始终正常工作。 Content-Length header 也设置正确。
通过 HTML 表单发送 POST 并使用 $_POST['content'] 服务器端访问它的行为方式完全相同。
最佳答案
问题可能出在网络服务器上。 您可以尝试提高网络服务器软件的正文限制。 例如在 Apache 中:
LimitRequestBody
在 Nginx 中:
client_max_body_size
关于php - file_get_contents ("php://input") 如果 POST 正文超过约 16 000 个字符,则为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57988974/