无法通过url发送超过1000个变量

时间:2015-10-15 07:24:42

标签: php mysql search server

我有一个搜索表单,其结果存储在数组中并通过url传递给希望显示的页面。现在,当要搜索的项目低于1000时,它的工作正常,否则会导致内部服务器错误。 有没有其他方法,如网址加密,我可以做什么来解决内部错误? 请帮我避免内部服务器错误 我的代码如下

$cfinalarray = array_intersect($clarray1, $clarray2, $clarray3,       $clarray4,  $clarray5, $clarray6, $clarray7, $clarray8, $clarray9, $clarray10, $clarray12, $clarray13, $clarray14, $clarray15, $clarray16, $clarray17, $clarray18, $clarray19, $clarray20, $clarray22, $clarray23, $clarray24, $clarray25, $clarray26);
                if (count($cfinalarray) > 0) {
                    $arrayc = array_values($cfinalarray);
                    arsort($arrayc);
                    $ab = http_build_query($arrayc);
                    header("HTTP/1.1 301 Moved Permanently");
                    header("Location: http://example.com/a/b?$ab");
                } else {
                    header("HTTP/1.1 301 Moved Permanently");
                    header("Location: http://example.com/a/b?search=noresult");
                } 

结果如下:http://example.com/a/b?2=1120&1=1077&0=1046

2 个答案:

答案 0 :(得分:1)

您正在寻找ini设置'max_input_vars',默认为1000. http://php.net/manual/en/info.configuration.php

答案 1 :(得分:0)

检查您的php.ini文件并更改此行。

max_input_vars = 1000

1000表示最大输入值,您可以将其更改为您想要的值。如果您不知道如何编辑php.ini文件,请按照以下说明操作:

1 - 在SSH上以root用户身份登录 2 - 使用nanopico打开php.ini文件(如果您正在使用cPanel,那么# nano /usr/local/lib/php.ini
3 - 按CTRL + W(如果使用Mac OS按CNTRL + W)并键入" max_input_vars"
4 - 然后更改值并按CTRL + X退出并保存,然后退出。

这就是全部!