Naprawianie przesłanego pliku przekracza dyrektywę Upload_Max_Filesize w błędzie php.ini

Opublikowany: 2024-03-20

Kiedy próbujesz przesłać plik na stronę internetową lub na serwer i natkniesz się na komunikat o błędzie informujący, że „przesłany plik przekracza dyrektywę upload_max_filesize w php.ini”, to tak, jakbyś uderzył w niewidzialną ścianę. Ten błąd bezpośrednio wskazuje na ograniczenie w konfiguracji PHP Twojego serwera, które uniemożliwia Twojemu plikowi przedostanie się. Zrozumienie tego błędu wymaga głębszego zapoznania się z działaniem ustawień PHP i ich znaczeniem dla możliwości obsługi plików Twojej witryny lub aplikacji.

Co oznacza ten błąd

Pomysł ograniczenia rozmiaru przesyłanego pliku sprowadza się do praktycznej potrzeby: zachowania zasobów serwera. Dostawcy usług hostingowych wdrażają ten limit, aby mieć pewność, że serwer pozostanie szybki i responsywny dla wszystkich. Ograniczenie rozmiaru pliku, mierzonego w megabajtach (MB), reguluje specjalna dyrektywa znana jako „max_upload_filesize”.

Ustawienie `upload_max_filesize` znajduje się w pliku konfiguracyjnym o nazwie `php.ini`. Ten plik stanowi podstawę ustawień serwera dla aplikacji korzystających z PHP, który jest szeroko rozpowszechnionym językiem skryptowym po stronie serwera używanym w tworzeniu stron internetowych. Kiedy napotkasz błąd związany z przekroczeniem limitu upload_max_filesize, sednem sprawy jest ustawienie konfiguracji PHP.

Należy pamiętać, że ten limit przesyłania nie jest czymś, o czym WordPress ani żadna inna aplikacja decyduje samodzielnie. Jednak na pewno napotkasz ten limit w WordPressie podczas próby przesłania multimediów. Na przykład, jeśli przejdziesz do opcji Media → Dodaj nowy na pulpicie nawigacyjnym WordPress, zobaczysz tam określony maksymalny rozmiar przesyłanego pliku. Limit ten różni się w zależności od dostawcy usług hostingowych. Na przykład 10Web oferuje limit 128 MB, który jest więcej niż wystarczający dla większości potrzeb. Natomiast inne usługi hostingowe mogą ustawić ten limit na poziomie zaledwie 2 MB lub 4 MB, co może być dość restrykcyjne.

Zatem przy próbie przesłania pliku większego niż dozwolony limit pojawia się błąd „przesłany plik przekracza dyrektywę upload_max_filesize w php.ini”. Alternatywnie może pojawić się komunikat typu „nazwa_pliku przekracza maksymalny rozmiar przesyłanych plików dla tej witryny”.

Zrozumienie tego ograniczenia i umiejętność poruszania się po nim jest kluczem do skutecznego zarządzania witryną. Jeśli często napotykasz ten limit, istnieją sposoby, aby go dostosować, co obejmuje dostęp i modyfikację pliku `php.ini` lub użycie innych metod, takich jak `.htaccess` lub `wp-config.php` dla WordPress -konkretne witryny. Każda metoda ma swój własny zestaw kroków i kwestii, ale dostosowanie tego limitu może znacznie zwiększyć możliwości obsługi multimediów w witrynie, czyniąc ją bardziej wszechstronną i przyjazną dla użytkownika.

Odmiany tego błędu

Ten błąd może objawiać się na różne sposoby, w zależności od środowiska, w którym pracujesz. Oto niektóre typowe odmiany:

  • „Plik jest zbyt duży, aby go przesłać” w aplikacjach internetowych
  • „Przekracza maksymalny rozmiar przesyłanych plików dla tej witryny” na WordPress lub innych platformach CMS
  • Bezpośrednie odniesienia do `upload_max_filesize` w dziennikach błędów PHP lub narzędziach do debugowania
  • Ogólny „błąd HTTP” podczas próby przesłania plików w niektórych interfejsach internetowych

Powody wystąpienia tego błędu

Ten błąd może wywołać kilka przyczyn, w tym:

Domyślne ustawienia serwera : wiele serwerów ma domyślnie konserwatywne ustawienie „upload_max_filesize”, często 2 MB lub 8 MB, aby efektywnie zarządzać zasobami i zapobiegać nadużyciom.

Wymagania aplikacji : Niektóre aplikacje lub strony internetowe wymagają przesłania dużych plików (np. filmów, plików PDF lub dużych zbiorów danych), które z łatwością mogą przekroczyć domyślne limity ustawione w `php.ini`.

Niedopasowane ustawienia : dyrektywa „upload_max_filesize” nie jest jedynym ustawieniem kontrolującym przesyłanie plików.Dyrektywa `post_max_size`, która ogranicza maksymalny rozmiar danych POST, również musi być odpowiednio skonfigurowana; w przeciwnym razie samo zwiększenie rozmiaru pliku „upload_max_filesize” nie rozwiąże problemu.

Naprawienie przesłanego pliku przekracza dyrektywę upload_max_filesize w php.ini

Rozwiązanie tego błędu polega na zwiększeniu rozmiaru plikuupload_max_filesize .Możesz wybrać metodę, która najbardziej Ci odpowiada. Metoda zależy również od konfiguracji dostarczonej przez usługę hostingową.

Skontaktuj się z pomocą techniczną

Czasami najprostsze rozwiązanie nie wymaga w ogóle dotykania żadnych plików konfiguracyjnych.

Najszybszym i najbardziej bezproblemowym sposobem rozwiązania tego problemu może być skontaktowanie się z zespołem pomocy technicznej dostawcy usług hostingowych. W tym podejściu nie chodzi tylko o oszczędność czasu; chodzi o wykorzystanie wiedzy specjalistów, którzy na co dzień zajmują się takimi zgłoszeniami. Niezależnie od tego, czy prowadzisz mały blog, czy dużą platformę e-commerce, wsparcie hostingowe zapewni sprawne działanie Twojej witryny.

Zmodyfikuj plik php.ini w cPanel

Dostosowanie dyrektyw `upload_max_filesize` i `post_max_size` w pliku `php.ini` to prosty sposób na zniesienie tych ograniczeń.

Plik `php.ini` jest podstawą konfiguracji PHP na Twoim serwerze. W zależności od konfiguracji hostingu plik ten zwykle można znaleźć w katalogu głównym Twojej witryny lub w katalogu konfiguracyjnym PHP.

W przypadku hostingu współdzielonego lub środowisk, w których nie masz bezpośredniego dostępu do plików, cPanel oferuje przyjazny dla użytkownika sposób edycji ustawień PHP bez konieczności otwierania edytora tekstu lub uzyskiwania dostępu do serwera przez SSH.

Użycie cPanelu do edycji ustawień `php.ini`

Edytor wielu ini php w cPanel

  1. Zaloguj się do panelu kontrolnego cPanel i poszukaj „Edytora MultiPHP INI” w sekcji Oprogramowanie. Narzędzie to ma na celu uproszczenie procesu modyfikacji konfiguracji PHP.
  2. Gdy znajdziesz się w edytorze MultiPHP INI, zobaczysz rozwijane menu, w którym możesz wybrać konkretną domenę lub aplikację, dla której dostosowujesz ustawienia.
  3. Po wybraniu witryny poszukaj dyrektyw `upload_max_filesize` i `post_max_size`. Te dwa ustawienia kontrolują odpowiednio maksymalny rozmiar plików, które można przesłać przez PHP i maksymalny rozmiar danych POST akceptowanych przez PHP. Ustaw obie wartości na dowolny wymagany limit.
  4. Po wprowadzeniu nowych wartości pamiętaj o zapisaniu zmian.

Prześlij maksymalny rozmiar pliku w cPanel

Aby upewnić się, że wszystko działa zgodnie z oczekiwaniami, spróbuj przesłać plik, który wcześniej przekroczył limit. Jeśli zrobisz to poprawnie, nie powinieneś już napotykać błędu rozmiaru przesyłanego pliku.

W niektórych przypadkach, szczególnie na VPS lub serwerach dedykowanych, może być konieczne ponowne uruchomienie serwera internetowego, aby zmiany zaczęły obowiązywać. Zwykle można to zrobić za pośrednictwem interfejsu cPanel lub kontaktując się z obsługą dostawcy usług hostingowych.

Modyfikowanie pliku php.ini przez FTP

Nie wszystkie hosty pozwalają na bezpośrednie modyfikacje pliku `php.ini`, co prowadzi do interesującego obejścia obejmującego plik `.htaccess`. Możesz sprawdzić, czy masz uprawnienia do zmiany lub utworzenia pliku

php.ini za pomocą klienta FTP. Jeśli to nie zadziała, możesz kontynuować modyfikację pliku .htaccess.

Modyfikowanie lub tworzenie pliku php.ini

  1. Aby uzyskać dostęp do serwera, użyj klienta FTP. Ten krok wymaga poświadczeń FTP, które zazwyczaj są dostarczane przez usługę hostingową.
  2. Przejdź do folderu głównego witryny, zwykle o nazwie „public_html”, „www” lub podobnie. Jest to katalog, w którym znajdują się pliki Twojej witryny.
  3. Jeśli plik `php.ini` już istnieje w folderze głównym, otwórz go za pomocą edytora tekstu. Jeśli nie, utwórz nowy plik tekstowy i nazwij go `php.ini`.
  4. Dodaj lub zmodyfikuj następujące linie. Dostosuj liczby zgodnie ze swoimi wymaganiami:
 upload_max_filesize = 12M
post_max_size = 13M
limit_pamięci = 15M

Wartości `upload_max_filesize` i `post_max_size` zapewniają możliwość przesyłania dużych plików, podczas gdy `memory_limit` wpływa na ilość pamięci, jaką może zająć skrypt PHP, co jest kluczowe w przypadku intensywnych wtyczek lub motywów.

Niektóre środowiska hostingowe, zwłaszcza te, na których działa suPHP (narzędzie do wykonywania skryptów PHP z uprawnieniami ich właścicieli), wymagają specjalnej deklaracji w pliku `.htaccess`, aby potwierdzić zmiany w `php.ini`.

Edytuj swój plik .htaccess za pomocą następującego kodu, zastępując swoją nazwę użytkownika rzeczywistą ścieżką do pliku swojej witryny: <IfModule mod_suphp.c>

 suPHP_ConfigPath /home/nazwa_użytkownika/public_html
</IfModule>

Modyfikowanie .htaccess w celu zwiększenia limitów przesyłania

Ta metoda jest szczególnie pomocna dla tych, którzy stoją w miejscu z modyfikacjami `php.ini`, albo z powodu ograniczeń hosta, albo po prostu dlatego, że zmiany nie przynoszą efektu zgodnie z oczekiwaniami. Oto jak możesz użyć pliku `.htaccess` do dostosowania ustawień PHP, w szczególności dotyczących limitów przesyłania plików i alokacji pamięci.

Plik htaccess zostanie podświetlony na czerwono i pojawi się na liście plików stron internetowych w kliencie FTP.

  1. Połącz się ze swoją witryną poprzez FTP
  2. Po nawiązaniu połączenia przejdź do folderu głównego swojej witryny, zwykle nazywanego „public_html” lub „www”.
  3. Znajdź plik `.htaccess`. Powinien znajdować się w katalogu głównym Twojej witryny.
  4. Jeśli ich nie widzisz, upewnij się, że Twój klient FTP jest ustawiony na pokazywanie ukrytych plików, przechodząc do opcji „Serwer” > „Wymuś wyświetlanie ukrytych plików”.
  5. Kliknij dwukrotnie plik .htaccess, aby otworzyć go w edytorze tekstu. Jeśli tworzysz nowy plik, bo on nie istnieje, po prostu utwórz nowy plik tekstowy i nadaj mu nazwę `.htaccess`.
  6. Dodaj następujące wiersze na górze pliku, dostosowując wartości do swoich konkretnych potrzeb:
 php_value upload_max_filesize 12M
php_value post_max_size 13M
wartość_php limit_pamięci 15 M

Należy pamiętać, że jeśli po wprowadzeniu tych zmian Twoja witryna zacznie wyświetlać wewnętrzny błąd serwera, prawdopodobnie Twój serwer działa w trybie CGI, który nie obsługuje dyrektyw `.htaccess`.

Usuń właśnie dodane linie z pliku `.htaccess`, aby przywrócić funkcjonalność swojej witryny.

Dostosowywanie wartości PHP dla klientów 10Web

10Web wykorzystuje NGINX zamiast Apache, co oznacza, że ​​nie ma pliku `.htaccess` do modyfikacji. Dla użytkowników 10Web napotykających problemy z limitami przesyłania, 10Web oferuje szybkie i przyjazne dla użytkownika podejście. Rozwiązanie znajdziesz na swoim pulpicie nawigacyjnym.

Zmiana limitu przesyłania PHP z panelu 10Web.

Aby dostosować lub zwiększyć wartości PHP witryny:

  1. Zaloguj się na swoje konto 10Web.
  2. Kliknij witrynę, na której wystąpił błąd.
  3. Przejdź do opcji „Usługi hostingowe” > „Narzędzia”.
  4. Przewiń w dół i kliknij „Ustawienia zaawansowane”.
  5. Aby naprawić błąd, kliknij menu i dostosuj wartość „Limit przesyłania”.
  6. Kliknij „Zapisz”, aby zastosować zmiany.

Zamykanie myśli

Nawigacja po błędzie „przesłany plik przekracza dyrektywę upload_max_filesize w php.ini” wymaga kilku różnych strategii w zależności od konfiguracji serwera i poziomów dostępu. Omówiliśmy bezpośrednie zmiany w pliku php.ini i wykorzystanie pliku .htaccess dla serwerów Apache. W przypadkach, gdy bezpośredni dostęp do plików nie jest możliwy, zaleca się skontaktowanie się z obsługą hostingu. W przypadku klientów 10Web scenariusz różni się nieco ze względu na użycie przez 10Web platformy NGINX, która nie obsługuje modyfikacji .htaccess. Jednak 10Web oferuje uproszczoną, przyjazną dla użytkownika metodę dostosowywania wartości PHP bezpośrednio z pulpitu nawigacyjnego. Każde podejście ma na celu ulepszenie funkcjonalności Twojej witryny internetowej, umożliwienie przesyłania większych plików i poprawę wydajności.

Przyspiesz tworzenie witryny WordPress dzięki sztucznej inteligencji

Stwórz niestandardową witrynę WordPress dostosowaną do potrzeb Twojej firmy 10 razy szybciej dzięki 10Web AI Website Builder.

Wygeneruj swoją witrynę internetową
Nie wymagamy karty kredytowej