Otrzymuję podobne błędy w moim error_log w php, gdy użytkownicy przesyłają swoje pliki
Ostrzeżenie PHP: Długość zawartości POST 11933650 bajtów przekracza limit 8388608 bajtów w polu Nieznane w wierszu 0
Czy w moim php.ini (utworzonym niestandardowym pliku ini w public_html) rozwiązałoby to ten problem, ile musiałbym ustawić go na około 1 GB? Zamierzam zmienić moje ustawienia na to w php.ini, czy to rozwiąże problem?
upload_max_filesize = 1000M ;1GB
post_max_size = 1000M
Na co powinienem ustawić limit „memory_limit”.
Czy byłoby to również poprawne w moim skrypcie sprawdzającym, czy przesyłany plik ma rozmiar <1 GB
if($_FILES["uploadedfile"]["size"]<1000000)
php_ini_set
?)php_info()
aby zobaczyć, jakie są twoje „lokalne” ustawienia i które pliki .ini są używane.<?php phpinfo(); ?>
skopiuj go do public_html i wywołaj w przeglądarce. Następnie sprawdź, czy upload_max_filesize ma odpowiednią wartość.Odpowiedzi:
8388608 bajtów to 8 MB, domyślny limit w PHP. Te zmiany w php.ini powinny rzeczywiście rozwiązać problem (upewnij się, że uruchomiłeś ponownie serwer Apache po ich wprowadzeniu).
Nie trzeba tu zmieniać limitu pamięci.
źródło
sudo service php5-fpm restart
stop: Unknown instance:
, to było po prostu tworzenia nowej instancji PHP5-FPM ale mój serwer WWW był wciąż przy starej, potem musiałem zrobićsudo killall -KILL php5-fpm
potemsudo service php5-fpm start
memory_limit
do wielkości większej niż pożądany maksymalny rozmiar wysyłania.Proponuję zmienić
post_max_size
wphp.ini
pliku z 8M na 32M .źródło
po prostu ustawiasz na php.ini
następnie ustaw:
upload_max_filesize = 1000M; post_max_size = 1000M;
następnie uruchom ponownie Xampp .. Sprawdź obraz
źródło
Spróbuj wkleić to do .htaccess i powinno działać.
php_value post_max_size 2000M php_value upload_max_filesize 2500M php_value max_execution_time 6000000 php_value max_input_time 6000000 php_value memory_limit 2500M
źródło
post_max_size powinien być nieco większy niż upload_max_filesize , ponieważ przy przesyłaniu metodą HTTP POST tekst zawiera również nagłówki z rozmiarem i nazwą pliku itp.
Jeśli chcesz pomyślnie załadować pliki 1GiB, musisz ustawić:
upload_max_filesize = 1024M post_max_size = 1025M
Uwaga, poprawny przyrostek dla GB to G, tj. Upload_max_filesize = 1G.
Nie ma potrzeby ustawiania memory_limit .
źródło
W niektórych przypadkach musisz zwiększyć maksymalny czas wykonania.
max_execution_time=30
ja to zrobiłem
max_execution_time=600000
wtedy byłem szczęśliwy.
źródło
Może istnieć więcej niż jeden plik php.ini . Na przykład podczas korzystania z WAMP istnieją 2 pliki php.ini w następujących katalogach:
C:\wamp\bin\apache\apache2.4.9\bin
C:\wamp\bin\php\php5.5.12
Musisz edytować pierwszy.
źródło
Nie zgadzam się, ale to rozwiązanie zwiększające rozmiar pliku w php.ini lub .htaccess nie zadziała, jeśli użytkownik wyśle plik większy niż dozwolony w aplikacji serwera. Sugeruję sprawdzenie tego w interfejsie użytkownika. Przykład:
$(document).ready(function() { $ ('#your_input_file_id').bind('change', function() { var fileSize = this.files[0].size/1024/1024; if (fileSize > 2) { // 2M alert('Your custom message for max file size exceeded'); $('#your_input_file_id').val(''); } }); });
źródło
if ($_SERVER["CONTENT_LENGTH"] > (int)(str_replace("M", "", ini_get("post_max_size")) * 1024 * 1024)) { // do w/e
Jeśli używasz wersji Php 5.6.X w systemie Windows używającym Wampa, lokalizacja pliku może znajdować się w,
C:\Windows\php.ini
Po prostu spróbuj
post_max_size = 100M;
Spróbuj wprowadzić zmiany w Apache One. W ten sposób twój Wamp / XAMP ładuje plik .ini
źródło