Zmień maksymalny rozmiar wysyłanego pliku
Mam stronę internetową hostowaną na komputerze, do którego nie mam dostępu. Mam formularz uploadu pozwalający na wgrywanie plików mp3 o wielkości do 30MB. Mój skrypt po stronie serwera jest wykonywany w PHP.
Za każdym razem, gdy próbuję przesłać plik, pojawia się błąd twierdzący, że plik przekracza maksymalny dozwolony rozmiar, więc muszę go zwiększyć. Moje badania w Internecie sugerowały zmianę pliku .htaccess
, do którego nie mam dostępu, więc to nie zadziała. Inni sugerowali, że powinienem dodać własny plik php.ini
do mojego korzeń, który nie zadziałał. Jakieś inne sugestie?
14 answers
Musisz ustawić wartość upload_max_filesize
i post_max_size
w php.ini:
; Maximum allowed size for uploaded files.
upload_max_filesize = 40M
; Must be greater than or equal to upload_max_filesize
post_max_size = 40M
Po modyfikacji php.pliki ini, musisz ponownie uruchomić serwer HTTP, aby użyć nowej konfiguracji.
Jeśli nie możesz zmienić swojego php.ini, nie masz szczęścia. Nie można zmienić tych wartości w czasie wykonywania; Przesyłanie pliku jest większe niż wartość podana w php.ini nie powiedzie się do czasu wykonania połączenia do ini_set
.
Zobacz opis core php.dyrektywy ini .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-13 13:19:51
Możesz go zmienić za pomocą pliku .htaccess
.
.htaccess
pliki są przechowywane w tym samym katalogu co Pliki .php
. Modyfikują konfigurację dla tego folderu i wszystkich podfolderów. Po prostu ich używasz, tworząc plik .htaccess
w wybranym katalogu(lub modyfikując go, jeśli istnieje).
Poniższe informacje powinny umożliwić zwiększenie limitu wysyłania (jeśli dostawca serwera zezwala na zmiany konfiguracji PHP przez .htaccess
).
php_value upload_max_filesize 40M
php_value post_max_size 42M
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-02 16:05:08
Miałem ten sam problem i stworzyłem .użytkownik.plik ini i umieść go w katalogu, w którym znajdował się skrypt uploadu. Niż w tym pliku ustawiłem te dwie wartości:
upload_max_filesize = 40M
post_max_size = 40M
I zadziałało świetnie dla mnie!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-25 03:08:01
Możesz również użyć funkcji ini_set (tylko dla wersji PHP poniżej 5.3):
ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');
Jak powiedział @acme, w php 5.3 i wyżej te ustawienia są dyrektywami PHP_INI_PERDIR, więc nie można ich ustawić za pomocą ini_set. Możesz użyć użytkownika.ini zamiast.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-06 14:24:15
Aby zlokalizować plik ini, najpierw uruchom
php -i | grep -i "loaded configuration file"
Następnie otwórz plik i zmień
upload_max_filesize = 2M
post_max_size = 2M
Zastąpienie 2M żądanym rozmiarem, na przykład 100M.
Mam wpis na blogu o trochę więcej informacji http://www.seanbehan.com/how-to-increase-or-change-the-file-upload-size-in-the-php-ini-file-for-wordpress
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-03 08:43:50
Mam ten sam problem w przeszłości .. i naprawiłem to przez .htaccess
Plik
Kiedy dokonujesz zmiany w konfiguracji php poprzez .htaccess
powinieneś umieścić configrations w
IfModule
tag, inny, że wewnętrzny błąd serwera powstanie.
To jest przykład, dla mnie działa dobrze:
<IfModule mod_php5.c>
php_value upload_max_filesize 40M
php_value post_max_size 40M
</IfModule>
I to jest odniesienie do php, jeśli chcesz zrozumieć więcej. http://php.net/manual/en/configuration.changes.php
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-30 06:57:55
Rozwiązałem ten problem, tworząc plik o nazwie .user.ini
w katalogu, w którym znajdują się Skrypty plików PHP (oznacza to, że każdy skrypt PHP w tym katalogu otrzymuje nowy limit rozmiaru pliku)
Zawartość .user.ini
to:
upload_max_filesize = 40M
post_max_size = 40M
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-15 20:21:50
Chciałbym dodać tu moje 2 centy.
Używam współdzielonego webhostingu i wielokrotnie rozwiązywałem ten problem, próbowałem go rozwiązać na własną rękę, ale bezskutecznie.
W końcu udało mi się to rozwiązać poprzez sprawdzenie różnych źródeł internetowych i skontaktowanie się z moim dostawcą usług hostingowych. Moje pytania brzmiały: "jak Mogę zmienić wartość php memory_limit
we współdzielonym webhostingu?", "Jak Mogę zmienić wartość php upload_max_filesize
we współdzielonym webhostingu?", "Jak Mogę zmienić wartość php max_input_vars
we współdzielonym webhostingu?", "Jak Mogę zmienić wartość php max_execution_time
w współdzielonym webhostingu?", "Jak Mogę zmienić wartość php max_input_time
we współdzielonym webhostingu?"i wiele innych poprzez konfigurację lub zmianę php.plik ini lub .htaccess
. Próbowałem je zmienić, ale pojawiły się problemy. W końcu skontaktowałem się z moim dostawcą hostingu i okazało się, że ustawiłem moje php na natywne, zmienili go na php 5.6, oto ich odpowiedź: {]}
"Twój PHP został ustawiony na' natywny ' tryb, co oznacza, że nie możesz nadpisać te wartości. Zmieniłem Cię na ' 5.6 ' więc powinieneś być dobry na idź."
Po tym podłączyłem moją stronę przez ftp Filezilla, również nie zapomnij zrobić zarówno usługi ftp, aby pokazać ukryte pliki, jak i lokalnego komputera, aby to zrobić, ponieważ .htaccess
plik był ukryty w moim lokalnym laptopie i na mojej stronie internetowej. Był on dostępny w folderze public_html, po prostu go ściągnąłem i dodałem następujące kody na końcu pliku, a następnie przesłałem go z powrotem na serwer:
php_value memory_limit 256M
php_value post_max_size 256M
php_value upload_max_filesize 64M
php_value max_input_vars 1800
php_value max_execution_time 300
php_value max_input_time 300
Na razie wszystko działa poprawnie, jeśli ktoś z Was ma jakieś problemy proszę pisać tutaj i ostrzegać mnie abym mógł zmienić powyższe kody. Nawiasem mówiąc, wrzucam również kilka zdjęć, które pokazują zmianę.
Jeszcze jedno, prawie zapomniałem wspomnieć o instalacji ZipArchive na współdzielonym usługa webhosting, udało mi się to wymaganie zaznaczyć, przechodząc do ustawień php za pośrednictwem mojego cpanel, kliknij na PHP selector extensions, a następnie zaznacz sekcję zip, to wszystko.
Dzięki.PS: jestem otwarty na dobre praktyki, a jeśli zobaczysz jakieś złe praktyki tutaj proszę daj mi znać, postaram się je zmienić. Dzięki.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-03 01:55:41
Miałem ten sam problem. Próbowałem trzech sposobów, które zwykle sugerowano:
- Funkcje.php
- php.ini
- .htaccess
Brak, jeśli to rozwiązało mój problem. Używam godaddy i natknąłem się na sugerowane rozwiązanie, które brzmiało:
- got to Web Hosting, then Manage
- Pod oprogramowanie wybierz wybierz wersję PHP
- Select Switch to PHP Options found on the top right narożnik tabeli w kolorze czcionki: Niebieski
- na dole prawdopodobnie będziesz miał upload_max_filesize = 2m Teraz możesz to zmienić.]}
- pamiętaj, aby kliknąć Zapisz!
- Teraz przejdź do panelu wp-admin, wybierz Media następnie dodaj
Voila! Teraz masz inny maksymalny rozmiar przesłanego pliku :)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-05 16:31:25
Być może to powinien być komentarz do @ seanb123 i @ Fredrick Gauss komentując swój komentarz, ale dla mnie w Drupal 8.1 z PHP 7 plik, który musiałem zmodyfikować, znajdował się tutaj:
/etc/php/7.0/apache2/php.ini
Zmodyfikowałem prawdopodobnie cztery inne php.pliki ini, w tym ten, który mój system nazwał "załadowanym plikiem konfiguracyjnym" (php -i | grep -i "loaded configuration file"
) i ten, który znajduje się w info.strona php, ale żaden z nich nie pomógł. Klucz do odnalezienia właściwej ścieżki znalazł się na stronie z 2012 roku. Powiedzieli, że ścieżka "/etc/php5/apache2/php.ini"
była przestarzała nawet Wtedy, ale to dało mi wskazówkę, gdzie go znaleźć. Dla PHP7 jest trochę inaczej niż w PHP5, ale koncepcja jest taka sama.
To powiedziawszy, odpowiedź na OP w moim przypadku byłaby taka, że ktoś z uprawnieniami administratora na skrzynce musiałby to zrobić.
Strona, która mi pomogła: http://www.evilbox.ro/linux/remove-ispconfig-maximum-upload-size-of-2m-for-wordpress/
Jest to również adresowane tutaj: Importuj limit rozmiaru pliku w PHPMyAdmin
Edytuj: pełny tekst mojej notki do siebie:
Aby zmienić maksymalny rozmiar uploadu, edytuj upload_max_filesize i [w razie potrzeby? w naszej ofercie znajdziecie Państwo:ini (lub w więcej informacji na stronie
ini) / etc / init.d / apache2 restart
EDYTUJ PONOWNIE:
ponieważ importujesz duże pliki, może być konieczna zmiana limitu czasu ich przetwarzania. W moim przypadku plik o nazwie " config.default.php " znaleziono w {[3] } ze zmienną $cfg['ExecTimeLimit'] = 300;
Zmieniłem mój na 900 dla ogromnego importu, na przykład.
Następnie musisz ponownie uruchomić apache
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-25 13:13:15
Żadne z tych rozwiązań nie działa dla mnie!! (domyślnie ustawione na 32m).Problem jest w większości przypadków max_allowed_packet
Pracuję nad localhost i używam MAMP
.
Oto rozwiązania;
1. Jeśli nie masz my.ini
Dodaj
--max_allowed_packet=168435456
Do
...\MAMP\bin\startMysql.sh
2. Jeśli masz moje.ini
Pod
[mysqld]
Dodaj
max_allowed_packet=100M
Zrobione!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-08 15:26:57
Wiele razy zauważyłem, że witryna wit shared hosting nie pozwalają na zmianę ustawień w php.pliki ini. jeden również nie może nawet skrzyni .plik htaaccess w ogóle. w takiej sytuacji można spróbować następujących rzeczy
ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 300);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-30 08:31:55
Trzy rzeczy, które musisz sprawdzić.
upload_max_filesize
, memory_limit
i post_max_size
w php.dokładnie plik konfiguracyjny ini.
Wszystkie te trzy ustawienia ograniczają maksymalny rozmiar danych, które mogą być przesyłane i obsługiwane przez PHP.
Zazwyczaj post_max_size
i memory_limit
muszą być większe niż upload_max_filesize
.
Więc trzy zmienne razem musisz sprawdzić, aby mieć całkowitą pewność.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-23 20:07:58
Odpowiedzi są trochę niekompletne, 3 rzeczy, które musisz zrobić
W php.ini instalacji php (uwaga: w zależności od tego, czy chcesz go dla CLI, apache lub nginx, znajdź odpowiedni php.ini do manipulowania. W przypadku nginx zwykle znajduje się w /etc/php/7.1/fpm
Gdzie 7.1 zależy od twojej wersji. Dla Apache zazwyczaj /etc/php/7.1/apache2
)
post_max_size=500M
upload_max_filesize=500M
memory_limit=900M
Lub ustawić inne wartości. Uruchom ponownie / przeładuj apache, jeśli masz zainstalowany apache lub php-fpm dla nginx, jeśli używasz nginx.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-12 21:43:44