Podczas próby przesłania pliku PDF
, który miał 15 MB, przez utworzony do tego obszar administracyjny, nic się nie stało. Komunikat o błędzie nie powiodło się, ale PDF
nie został przesłany.PHP post_max_size vs upload_max_filesize, jaka jest różnica?
Wtedy pomyślałem, że może to być problem z ustawieniami php.ini
. Rzeczywiście, kiedy spojrzałem na plik, stwierdziłem, że limity zostały ustawione na 8m. Zakładam, że to 8mb.
post_max_size:http://php.net/post-max-size
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
post_max_size = 20M
upload_max_filesize:http://php.net/upload-max-filesize
; Maximum allowed size for uploaded files.
upload_max_filesize = 20M
Patrząc na komentarze, wydaje się, że ktoś jest za to, że przesłane pliki, a drugi odnosi się bezpośrednio do POST
dane. Zastanawiam się nad tym scenariuszem: Jeśli masz formularz, który jest POST
"obraz do innej strony, co to się liczy jako, upload_max_filesize
lub post_max_size
? Czy wchodzi w obie opcje? Czy ma się pierwszeństwo? Czy są przypadki, w których można by użyć jednego, a nie drugiego?
Edit:
Więc jeśli mam formularz, który ma 3 wejścia pliku, wszystkie pozwalającą plików 20MB lub mniejszy, ustawienia będą musiały być ustawione tak:
upload_max_filesize = 20M
post_max_size = 60M
Twój serwer może również mieć limit. Apache ma dyrektywę [LimitRequestBody] (http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestbody), którą można ustawić. Jeśli jest obecny, musi być równy lub większy niż "post_max_size" –
Z tego co rozumiem, jeśli mam formularz, który ma 3 przesłane z kodami przy 20 MB, byłoby dobrze mieć 'upload_max_filesize = 20M', ale' post_max_size' ustawić na "60M"? –
@TonyM Tak, zgadza się. – Brad