我通过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>';
?>
此处包含rss的$result
以数组的形式提供数据。我正在使用urlencode(serialize($result)
通过url传递数据,并且它在本地计算机上完美运行但在服务器中显示以下错误:
Request-URI Too Large
The requested URL's length exceeds the capacity limit for this server.
请告诉我你处理这个问题的意见。
答案 0 :(得分:2)
我犯了这个错误(这不是知道而不是犯错!)一次。我为webapps构建了一个ajax引擎。它只使用get方法。一旦我有一个包含大量数据的表单,它就无法正常工作。
经过一番研究后我发现了这一点:look here
所以基本上大多数浏览器都不会出现任何问题,因为它们支持大约100.000个字符。但是像Apache这样的大多数Web服务器只支持来自URL的4000个字符。
不,你不能只配置Apache接受更多。这是可能的,但你必须编辑源代码才能这样做。
解决方案:使用POST方法,在Web服务器和客户端(最有可能是浏览器)之间进行大量数据传输。
在你的情况下,我认为你想创建一个带有一些用户输入的pdf,原因是输入大于4000个字符。
答案 1 :(得分:1)