为什么当textarea中的文本超过一定限制时POST数据不发送?

Why is the POST data not sent when text in textarea goes over a certain limit?

我正在尝试通过 POST 请求将音乐评论的内容从一个页面发送到另一个页面。评论的表单包含一个字符限制为 9900 的 textarea 字段(数据库对评论的字符限制为 10000):

<textarea name='review_text' cols='200' rows='10' maxlength='9900' placeholder='Reviewtext' required></textarea>

现在,如果我将长度为 342 个字符的示例文本粘贴到评论文本区域,一切正常,我可以读取 POST 参数并将它们提交到数据库:

Musik ist sehr abgefahrene elektronische Musik, sie hat auch mit FKA twigs, RALIA, Björk, Shygirl, Kanye West und SOPHIE kollaboriert, also ist Teil dieser Weird Leftfield Gang.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

但是,一旦字符数达到 343,POST 参数的 NONE 就会发送到下一页:

Musik ist sehr abgefahrene elektronische Musik, sie hat auch mit FKA twigs, RALIA, Björk, Shygirl, Kanye West und SOPHIE kollaboriert, also ist Teil dieser Weird Leftfield Gang.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

据我所知,apache 中没有设置限制 POST 请求中的字符数。此外,当我使用 Web 开发人员工具查看页面时,我可以看到参数,但我发送的页面也无法读取它们。我做错了什么?

编辑:这是我用来获取参数的代码。正如我所说,如果文本区域文本的长度超过 342 个字符,将检索 none 个值,但在其他情况下,将检索所有这些值。

$festival_name = $_POST["festival"];
$edition_year = $_POST["edition"];
$artist = $_POST["artist"];
$review_text = $_POST["review_text"];
$category = $_POST["category"];
$song = $_POST["song"];
$link = $_POST["link"];
$date = date('Y-m-d');

我自己解决了。问题似乎是 php 中 post_max_size 的配置值。我一时兴起将它设置为 20MB,它起作用了。我不认为这是问题所在,因为 342 个字符与 1MB 相去甚远,但不知何故 POST 请求似乎变得相当大。

编辑:我在 .htaccess 文件中所做的更改:

php_value post_max_size 20M