2012-03-21 5 views
22

나는 1000 개 이상의 요소가있는 매우 큰 형식을 가지고 있습니다. 그들은 html 구조체 안에 이미 중첩되어 있습니다.

   {foreach from=$result item=item} 
        <tr> 
         <td><input type="text" value="{$item.receiver.name}" name="item[{$item.id}][receiver][name]" /></td> 
         <td><input type="text" value="{$item.receiver.account_number}" name="item[{$item.id}][receiver][account_number]" /></td> 
         <td><input type="text" value="{$item.receiver.bank_code}" name="item[{$item.id}][receiver][bank_code]" /></td> 
         <td><input type="text" value="{$item.amount}" name="item[{$item.id}][amount]" /></td> 
         <td><input type="text" value="{$item.usage.first}" name="item[{$item.id}][usage][first]" /></td> 
         <td><input type="text" value="{$item.usage.second}" name="item[{$item.id}][usage][second]" /></td> 
         <td><input type="text" value="Yourdelivery GmbH" name="item[{$item.id}][usage][third]" /></td> 
         <td> 
          <input type="checkbox" value="1" name="item[{$item.id}][import]" /> 
         </td> 
        </tr> 
       {/foreach} 

대량 은행 거래를위한 DATAUS 파일을 생성하는 것입니다. 그러나 1000 개 이상의 행에 도달하면 더 이상 요소가 $ _POST 배열에 추가되지 않으며 디버거에는 다음 요소 수가 표시됩니다.

Xdebug Output

이미 테스트를위한 100M에 max_post_size을 추가,하지만 아무것도 도움이되지 않습니다.

+1

Suhosin을이 서버에 설치 했습니까? 'php -i |를 실행하십시오. grep -i 'Suhosin''을 찾아서 명령 줄에. ['suhosin.post.max_vars'] (http://www.hardened-php.net/suhosin/configuration.html#suhosin.post.max_vars)와 ['suhosin.post.max_array_index_length'] (suhosin.post. max_array_index_length). – Treffynnon

+0

[이 제안] (http://www.php.net/manual/en/ini.core.php#101755)이 도움이됩니까? – Ryan

+0

에는 MYSQL 콘솔을 시뮬레이트해야 할 때 비슷한 문제가있었습니다 ... $ _SESSION 변수를 사용했고 문제없이 긴 문자열 (1k 행 이상)을 전달할 수있었습니다. –

답변

38

max_input_vars도 변경하십시오. 더 자세한 정보 : PHP max_input_vars and big forms.

+1

자세한 정보에 대한 링크는 도움이되고 내 문제를 해결했다. 작은 팁 : OS X Mountain Lion에서 php.ini 파일 위치는 **/private/etc/php.ini **입니다. ** php --ini ** 명령을 사용하여 발견했습니다. – csonuryilmaz