2015-11-17 18 views
6

Chciałbym wysłać dane json ~ 10MB w polu tekstowym o nazwie "dane". Jeśli dane wynoszą 1-2 KB, to działa idealnie. Ale z dużym jsonem, $_POST['data'] jest pusty z jakiegoś powodu.

Nie mogę przesłać json w przeciwnym razie, ponieważ jest generowany klient, nie jest plikiem.

Próbowałem ten kod, ale nadal nie działa:

form.setAttribute('enctype', 'multipart/form-data'); 

Edycja

Z tego ustawienia to nadal nie działa:

memory_limit = 256M 
upload_max_filesize = 64M 
post_max_size = 64M 

Edytuj2

Jeśli przejdę z php 5.4 do 5.6, to dostanę stronę błędu 500, bez żadnych szczegółów zapisanych na ekranie.

+0

próbować zwiększyć zwiększając wartość 'max_input_vars' w pliku' php.ini' –

+0

tylko jedno wejście jest 'data' textarea –

+0

co wersja z p hp masz uruchomiony? – Andrew

Odpowiedz

4

Musisz zmienić post_max_size się wystarczająco (20MB) w pliku php.ini. Domyślnie PHP domyślnie zezwala na maksymalny rozmiar pliku 2 MB.

Dwie opcje konfiguracji PHP kontrolują maksymalny rozmiar wysyłania: upload_max_filesize i post_max_size. Oba można ustawić na, na przykład, 20M dla plików o rozmiarze 20 megabajtów lub więcej, jeśli jest to wymagane.

3

Spróbuj zmienić ty post_max_size w

php.ini 

post_max_size=20M 
2

Obok inni już wspomniano, można także spróbować ustawić go w .htaccess jeśli używasz Apache

php_value upload_max_filesize 20M 
php_value post_max_size 25M 

inna metoda, jeśli działa jako CGI/FastCGI, można spróbować stworzyć .user.ini i umieścić go gdzie skrypt upload.php znajduje

upload_max_filesize = 40M 
post_max_size = 40M 
Powiązane problemy