Php 服务器上显示的请求URI太大

Php 服务器上显示的请求URI太大,php,Php,我正在通过url传递以下数据: <?php $url = "generate_pdf.php/?feed=" . urlencode(serialize($result)); echo '<div id="left-sidebar">'; echo '<a href="' . $url . '"><div id="pdf">Download PDF</div></a>'; echo '<

我正在通过url传递以下数据:

<?php    
   $url = "generate_pdf.php/?feed=" . urlencode(serialize($result));    
   echo '<div id="left-sidebar">';
   echo '<a href="' . $url . '"><div id="pdf">Download PDF</div></a>';
   echo '</div>';
?>
请告诉我你对处理这个问题的看法

  • 将数据存储在服务器上的某个位置(例如数据库)
  • 为此类数据分配唯一的ID
  • 在URL中传递该ID
  • 使用ID作为密钥从存储器中检索数据
  • 我犯过一次这样的错误(与其说是不知道,不如说是犯了错误!)。我已经为webapps构建了一个ajax引擎。它只使用get方法。有一次,我有一个表格,里面有很多数据,但它不起作用

    经过一些研究,我发现:

    因此,基本上大多数浏览器不会出现任何问题,因为它们支持大约100.000个字符。但是像Apache这样的大多数web服务器只支持URL中的4000个字符

    不,您不能仅仅配置Apache来接受更多。可以这样做,但必须编辑源代码才能这样做

    解决方案:使用POST方法,它用于在web服务器和客户端(最有可能是浏览器)之间进行大型数据传输


    在您的例子中,我认为您希望创建一个带有用户输入的pdf,因为输入大于4000个字符

    这是因为您使用的GET方法有一个长度限制(如果我没弄错的话,是255个字符)。将序列化数据作为POST发送。我想通过href urlTo bad发送该数据,这是一个限制/规则。这将需要通过邮政。您可以创建一个链接/按钮,用于提交表单并将所有数据作为POST请求发送。(formname.submit())不管您想要什么-您不能。您必须使用POST方法。好的..谢谢..但我的问题是,如果规则长度为255个字符,它在本地主机上如何工作。我想知道为什么要在服务器端生成URL?您可以将数据存储在数据库或json中,然后为用于获取pdf的链接提供密钥。
    Request-URI Too Large
    The requested URL's length exceeds the capacity limit for this server.