Jak naprawić błąd HTTP WordPress podczas przesyłania obrazów?
Opublikowany: 2022-06-03Błąd HTTP WordPress jest jednym z najczęstszych błędów, które możesz napotkać, jeśli Twoja witryna działa na WordPress. Ten błąd okazuje się dość frustrujący, ponieważ nie ma faktycznego powodu, dla którego się pojawia.
W tym artykule przyjrzymy się, na czym polega ten błąd, a także niektórym poprawkom, które możesz zastosować, aby rozwiązać ten błąd.
Spis treści
Co to jest błąd HTTP WordPress podczas przesyłania multimediów?
Jak naprawić błąd HTTP
- Przeprowadź kontrole i zmiany, aby ustalić, czy problem jest tymczasowy
- Zmień nazwę pliku obrazu
- Tymczasowa dezaktywacja wtyczek i motywów
- Modyfikuj biblioteki obrazów WordPress
- Wyłącz mod_security
- Sprawdzanie uprawnień w folderze przesyłania
- Zwiększ limit pamięci PHP
- Zaktualizuj swoją wersję PHP
Wniosek
Co to jest błąd HTTP WordPress podczas przesyłania obrazów?
Błąd HTTP WordPress jest ogólnym błędem generowanym podczas próby przesłania elementów multimedialnych za pomocą programu do przesyłania multimediów. Te elementy multimedialne mogą być filmami lub obrazami. Na przykład możesz napotkać ten błąd podczas przesyłania polecanego obrazu posta.
Błędy HTTP zwykle zawierają kod stanu. Ten kod stanu umożliwia określenie przyczyny błędu. Jednak frustrującą rzeczą związaną z tym błędem jest to, że WordPress nie jest w stanie określić dokładnej przyczyny błędu.
Używanie obrazów w witrynie jest bardzo ważne, ponieważ obrazy dostarczają dodatkowych informacji w znacznie lepszym formacie. Obrazy zapewniają również przewagę SEO, jeśli chodzi o indeksowanie Twojej witryny w wyszukiwarkach. Dlatego ważne jest, aby naprawić taki błąd HTTP, aby móc przesyłać obrazy, a raczej media w swojej witrynie.
Ten błąd może być spowodowany wieloma problemami. Niektóre z nich to:
i) Nieprawidłowa nazwa pliku: Jeśli nazwa pliku obrazu zawiera znaki specjalne, podczas przesyłania takich obrazów prawdopodobnie napotkasz błąd HTTP.
ii) Problemy z motywem i wtyczką: Wtyczka lub motyw może zawierać funkcję, która utrudnia przesyłanie elementów multimedialnych w witrynie.
iv) Limit pamięci: Jeśli limit pamięci WordPress w Twojej witrynie jest dość niski, prawdopodobnie wystąpi również błąd HTTP.
v) Moduły edytora obrazów: Ograniczenie zasobów w modułach takich jak ImageMagick może również prowadzić do błędu HTTP.
Jak naprawić błąd HTTP
Aby naprawić błąd HTTP, może być konieczne wypróbowanie kilku rozwiązań w zależności od konfiguracji witryny. Umożliwiłoby to zidentyfikowanie przyczyny problemu, a także zastosowanie odpowiedniej poprawki. Proces może zająć trochę czasu w zależności od tego, jak szybko jesteś w stanie ustalić przyczynę błędu, ale zdecydowanie warto.
Jeśli błąd zostanie rozwiązany przez zastosowanie konkretnego rozwiązania, niekoniecznie musisz przeprowadzać inne rozwiązania.
W tym przewodniku omówimy niektóre z sugerowanych rozwiązań, które możesz wypróbować.
Przeprowadź kontrole i zmiany, aby ustalić, czy problem jest tymczasowy
Można przeprowadzić szereg kontroli i zmian, aby ustalić, czy problem z błędem HTTP jest tymczasowy. Niektóre z tych sprawdzeń i zmian obejmują:
i) Odświeżanie przeglądarki: Czasami utrata połączenia internetowego może spowodować, że obrazy nie zostaną przesłane do Twojej witryny. W związku z tym konieczne byłoby, abyś najpierw odświeżył przeglądarkę internetową i sprawdził, czy może tak być w Twoim przypadku.
Pozostając w przeglądarce, możesz również wyczyścić pamięć podręczną przeglądarki i sprawdzić, czy problem został rozwiązany. Możesz też sprawdzić, czy problem jest replikowany w innej przeglądarce, w której nie testowałeś witryny, lub w trybie incognito.
ii) Sprawdzanie rozmiaru pliku: Jeśli obraz, a raczej element multimedialny, jest zbyt duży, prawdopodobnie wystąpi również błąd HTTP. Możesz zatem spróbować najpierw zmienić rozmiar obrazu i upewnić się, że nie przekracza on maksymalnego rozmiaru przesyłania WordPress. Ponadto możesz również zoptymalizować swoje obrazy za pomocą wtyczki do optymalizacji obrazu według własnych preferencji. Niektóre przykłady takich wtyczek to EWWW Image Optimizer i Imagify.
iii) Zmień typ pliku: Niektóre serwery mogą nie obsługiwać różnych formatów obrazu. W takich przypadkach, jeśli prześlesz nieobsługiwany typ pliku, możesz napotkać błąd HTTP. Aby upewnić się, że tak nie jest w Twoim przypadku, musisz zmienić typ pliku obrazu lub raczej elementu multimedialnego. Gdy to zrobisz, prześlij go ponownie w nowym typie pliku i sprawdź, czy problem został rozwiązany.
Zmień nazwę pliku obrazu
Obrazy przesyłane za pomocą programu do przesyłania multimediów WordPress nie powinny zawierać znaków specjalnych. Niektóre z tych znaków to apostrofy, dwukropki, znaki równości, średniki i symbole języków międzynarodowych. Znaki takie jak myślniki i podkreślenia są jednak bezpieczne.
Aby sprawdzić, czy może to być problem po Twojej stronie, musisz zatem sprawdzić, czy którykolwiek z wyżej wymienionych znaków znajduje się w nazwie pliku obrazu. Jeśli tak, usuń je z nazwy pliku i spróbuj ponownie przesłać obraz.
Tymczasowa dezaktywacja wtyczek i motywów
Czasami błąd HTTP może być spowodowany przez zainstalowane wtyczki. Wtyczki bezpieczeństwa i wtyczki optymalizacji obrazu są zwykle prawdopodobnymi przyczynami błędu.
Aby wyeliminować możliwość wystąpienia błędu spowodowanego przez wtyczkę, musisz zbiorczo dezaktywować istniejące wtyczki. Można to osiągnąć w sekcji wtyczek na pulpicie WordPress, jak pokazano poniżej:
Po dezaktywacji wtyczek prześlij swój obraz jeszcze raz i sprawdź, czy problem został rozwiązany. Jeśli tak, reaktywuj wtyczki jeden po drugim i prześlij obraz w każdym wystąpieniu aktywacji wtyczki, aby zidentyfikować wtyczkę, która jest przyczyną.
Innym razem błąd HTTP jest spowodowany używanym motywem WordPress. Jest to jednak rzadki przypadek, ponieważ motywy nie wpływają bezpośrednio na przesyłanie multimediów w witrynie WordPress.
Aby jednak wyeliminować możliwość, że motyw WordPress jest przyczyną problemu, możesz przełączyć się na domyślny motyw WordPress, taki jak motyw Twenty Twenty-One lub Twenty Twenty Two. Po wykonaniu przełączenia prześlij swój obraz i sprawdź, czy błąd HTTP jest renderowany. Jeśli nie, oznacza to, że przyczyną problemu jest pierwotnie używany motyw.
W każdym z powyższych przypadków, jeśli zdarzy ci się zawęzić problem powodowany przez wtyczkę lub motyw, zalecamy skontaktowanie się z odpowiednim autorem produktu. W przeciwnym razie możesz zdecydować się na użycie alternatywnej wtyczki lub motywu.
Modyfikuj biblioteki obrazów WordPress
WordPress wykorzystuje dwa moduły PHP do przetwarzania obrazów. Są to Imagick i Biblioteka GD. WordPress domyślnie użyje jednego z modułów, w zależności od instalacji serwera.
Jednak moduł Imagick PHP czasami wyczerpuje przydzielone zasoby, takie jak limit pamięci. W przypadku wyczerpania limitu pamięci i próby wgrania obrazu na stronę prawdopodobnie napotkasz błąd HTTP.
W powyższym przypadku należałoby przełączyć się na domyślną Bibliotekę GD. Aby to zaimplementować, musisz dodać poniższy kod do pliku functions.php twojego motywu:
function wpb_image_editor_default_to_gd( $editors ) { $gd_editor = 'WP_Image_Editor_GD'; $editors = array_diff( $editors, array( $gd_editor ) ); array_unshift( $editors, $gd_editor ); return $editors; } add_filter( 'wp_image_editors', 'wpb_image_editor_default_to_gd');
Poniżej znajduje się przykładowy zrzut ekranu:
Po wykonaniu tej czynności spróbuj ponownie przesłać obraz. Jeśli błąd HTTP nadal występuje, usuń kod i wypróbuj inne kroki opisane w tym artykule.
Wyłącz mod_security
Mod_security to moduł Apache, który działa jako zapora aplikacji internetowej typu open source. Po włączeniu może czasami powodować błąd HTTP przy próbie załadowania obrazów w witrynie.
Aby sprawdzić, czy problem jest spowodowany przez moduł, możesz go najpierw wyłączyć. Można to łatwo osiągnąć z pliku .htaccess.
Najpierw musisz uzyskać dostęp do plików witryny głównej przez FTP za pomocą oprogramowania takiego jak Filezilla. Alternatywnie możesz to zrobić za pośrednictwem swojego panelu hostingowego.
Następnie wybierz edycję pliku .htaccess i dodaj następujący kod na początku pliku:
<IfModule mod_security.c> SecFilterEngine Off SecFilterScanPOST Off </IfModule>
Jeśli twój host używa cPanel, możesz zamiast tego wyłączyć moduł ModSecurity. Moduł znajduje się w sekcji „Bezpieczeństwo”.
Po śledzeniu modułu kliknij go i wyłącz go w swojej domenie, ustawiając status na „Wyłączony”. Poniżej znajduje się przykładowy zrzut ekranu na ten temat:
Po wykonaniu tej czynności spróbuj ponownie przesłać obraz i sprawdź, czy problem został rozwiązany.
Sprawdzanie uprawnień w folderze przesyłania
WordPress zaleca używanie trybu uprawnień 755 dla katalogów. Czasami, jeśli tak nie jest, prawdopodobnie napotkasz błędy, takie jak omawiany tutaj błąd HTTP. Dlatego ważne jest, aby sprawdzić, czy błąd przesyłania obrazu jest spowodowany uprawnieniami w folderze przesyłania.
Folder uploads znajduje się w katalogu Wp-content plików witryny. Możesz łatwo zlokalizować folder przez FTP lub panel hostingowy, taki jak Cpanel.
Po śledzeniu folderu sprawdź, czy uprawnienia są zgodne z 755.
Jeśli nie, zmień uprawnienia ręcznie na 755.
Po wykonaniu tej czynności spróbuj ponownie przesłać obraz i sprawdź, czy błąd HTTP został rozwiązany.
Zwiększ limit pamięci PHP
W przypadkach, gdy limit pamięci zostanie przekroczony podczas przesyłania obrazu lub elementów multimedialnych, prawdopodobnie wystąpi również błąd HTTP. Dzieje się tak, ponieważ serwer nie ma wystarczającej ilości pamięci, aby zakończyć przesyłanie obrazu/mediów. W związku z tym będziesz musiał zwiększyć limit pamięci PHP.
Aby zwiększyć limit pamięci, można to osiągnąć, dodając pojedynczą linię kodu w pliku wp-config.php. Plik wp-config.php znajduje się w katalogu głównym plików witryny. Równie dobrze możesz uzyskać do niego dostęp przez FTP za pomocą oprogramowania takiego jak Filezilla. Alternatywnie możesz to zrobić za pośrednictwem swojego panelu hostingowego.
Po śledzeniu pliku wybierz jego edycję i dodaj poniższy kod:
define ('WP_MEMORY_LIMIT', '256M');
Kod należy dodać tuż przed wierszem o treści:
/* To wszystko, przestań edytować! Miłego publikowania. */
Poniżej znajduje się zrzut ekranu na ten temat:
Po wykonaniu tej czynności zapisz zmiany i spróbuj ponownie przesłać obraz/element multimedialny, aby sprawdzić, czy problem został rozwiązany.
Zaktualizuj swoją wersję PHP
WordPress zaleca korzystanie z najnowszej obsługiwanej wersji PHP w Twojej witrynie. Używanie nieaktualnej wersji PHP jest prawdopodobną przyczyną błędów HTTP. Jeśli Twoja wersja PHP jest nieaktualna, pojawi się informacja o tym na pulpicie WordPress. Poniżej znajduje się przykładowa ilustracja do niniejszego ogłoszenia:
W obecnej formie WordPress w pełni obsługuje PHP w wersji 7.4 zgodnie z jego wymaganiami tutaj. Dlatego zaleca się korzystanie z tej wersji w obecnej formie. Możesz poprosić dostawcę usług hostingowych o zaktualizowanie Twojej wersji PHP.
Jeśli Twój host korzysta z cPanel, możesz łatwo zmienić wersję PHP za pomocą linku „MultiPHP Manager” lub „Wybierz wersję PHP”, w zależności od konfiguracji hosta.
Następnie możesz zastosować aktualną wersję PHP w swojej domenie, jak pokazano poniżej:
Po wykonaniu tej czynności spróbuj ponownie przesłać obraz/media i sprawdź, czy problem został rozwiązany.
Wniosek
Pomimo tego, że błąd HTTP nie ma konkretnej przyczyny jego wystąpienia, nadal możliwe jest jego naprawienie. W tym artykule omówiliśmy co najmniej osiem metod, których możesz użyć do rozwiązywania problemów i naprawy błędu w swojej witrynie.
Mamy nadzieję, że przynajmniej jedno z omówionych powyżej podejść pomoże Ci naprawić błąd HTTP w Twojej witrynie. Jeśli masz jakieś pytania lub nowe sugestie na ten temat, możesz zostawić komentarz w sekcji komentarzy poniżej.