2015-10-15 94 views
0

我有一個搜索表單,其結果存儲在數組中,並通過url傳遞給頁面希望顯示。現在,當要搜索的項目數少於1000時,內部服務器錯誤。 是否有任何其他方法,如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

回答

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在退出前退出並保存。

就這樣!

+0

Thanks.Daniz&rawb.Ii已經做到了,把它轉換成了5000個問題依然存在。 – Anna

+0

好的,請檢查您網站的網頁文件夾,檢查.htaccess和php.ini(如果有)文件。也許你可以在那個文件裏面找到max_input_vars的值。還請增加max_execution_time和max_input_time值,而不是重新啓動您的Web服務器。 –

+0

嗨Daniz,phi.ini文件在那裏。你看起來像這樣 max_execution_time = 30;每個腳本的最大執行時間,以秒爲單位 max_input_time = 60 \t;每個腳本可能花費的時間解析請求數據的最大時間量 max_input_vars = 5000 memory_limit = 512M;腳本可能消耗的最大內存量(32MB) – Anna