Jak naprawić błąd przesyłania obrazu w WordPress

Opublikowany: 2018-02-28

Niedawno opublikowaliśmy nasz Kompletny przewodnik naprawiania błędów WordPress, a jeden z naszych czytelników wysłał do nas e-mail, aby dowiedzieć się, jak naprawić błąd przesyłania obrazu w WordPress. Nie tak długo, że nie pamiętam tego błędu na moim własnym blogu, który sprawił, że walczyłem całą noc, aby znaleźć problem i go naprawić.

Cóż, w tym czasie mój blog dopiero się zaczynał, więc nie opublikowałem tego rozwiązania, ale nigdy nie jest za późno, aby pomóc innym rozwiązać ten dziwny problem.

Zasadniczo z tym problemem nie można było przesłać żadnego obrazu do WordPressa, a jeśli przesyłanie przejdzie, obrazy w bibliotece multimediów będą wyświetlane jako uszkodzone. W tym artykule pokażemy, jak rozwiązać problem z przesyłaniem obrazu w WordPress.

To jest powód, dla którego możesz napotkać błąd WordPress podczas przesyłania obrazów.

  1. Rozmiar obrazu
  2. Pamięć PHP
  3. ModSecurity
  4. Konflikt wtyczek
  5. Uprawnienia do plików
  6. Wersja PHP na serwerze

Rozmiar obrazu

Dzieje się tak, gdy próbujesz przesłać obraz o dużym rozmiarze pikseli, na przykład obraz o rozdzielczości 4000 x 3000 pikseli. Który jest zbyt duży, aby Twój serwer mógł go przetworzyć.

Niektóre serwery wyświetlają błąd, nawet jeśli twój obraz jest mniejszy niż ten rozmiar, wszystko zależy od zasobów twojego serwera.

Jak naprawić problem z przesyłaniem obrazu w programie WordPress
  • Ratować

Rozwiązanie

Zmniejsz rozmiar obrazu. Na przykład nie dodawaj obrazu o bardzo dużych pikselach. Jeśli obszar treści posta ma szerokość 800 pikseli, nie dodawaj większego obrazu.

[odważny pop wyrównaj = "środek"]

Zmniejsz rozmiar obrazu metodą prób i błędów, aż będziesz w stanie przesłać go bez żadnego błędu. 1075 pikseli wystarczy dla większości witryn WordPress, jeśli używasz motywu premium WordPress, sprawdź jego dokumentację, aby poznać wymagany rozmiar obrazu.

Ponieważ nie będzie miał wystarczająco dużo miejsca, aby się rozwinąć, a wszystko, co robi, to skurczyć się do tego miejsca, problem polega na tym, że podczas przesyłania obrazu o takim rozmiarze WordPress zużyje ogromną ilość pamięci. Ponieważ niektóre serwery ograniczają ilość pamięci, którą może wykorzystać WordPress, w tym przypadku spowoduje to błąd podczas przesyłania.

Pamięć PHP

Funkcjonalność i zasoby WordPressa mogą być ograniczone, gdy wszystko działa na PHP, a serwery z PHP mogą ograniczać te zasoby.

Możesz samodzielnie zwiększyć pamięć PHP lub poprosić o pomoc zespół wsparcia hostingu. Pamięć można zwiększyć na 2 sposoby:

Rozwiązanie

  • Zwiększ pamięć WordPress
  • Zwiększ pamięć PHP

Zwiększ limit pamięci
  • Ratować

Możesz zwiększyć pamięć WordPress, dodając ten kod do pliku wp-config.php, który znajduje się w katalogu głównym WordPress.

 define('WP_MEMORY_LIMIT', '256M');

Powyższe ustawienie może nie działać, jeśli twój host/serwer nie pozwala na zwiększenie limitu pamięci PHP lub go do pewnego stopnia ogranicza, więc sugeruję bezpośrednią rozmowę z twoim wsparciem i poproszenie ich o zmianę limitu dla ciebie. Pominiesz kłopoty. Lepiej poproś zespół pomocy technicznej o zwiększenie pamięci PHP, ale jeśli lubisz kłopoty, dodaj poniższy kod do swojego php.in lub php5.ini

[odważny pop wyrównaj = "środek"]
 limit_pamięci 256M

ModSecurity

Być może nigdy nie zauważyłeś tego zabezpieczenia lub o tym wiesz. ModSecurity jest również znany jako .htaccess i mam nadzieję, że widziałeś ten plik w głównym katalogu WordPressa, w większości jest ukryty.

Jeśli twój serwer ma włączone zabezpieczenia modów, może to oznaczać, że ten plik jest przyczyną problemu.

Rozwiązanie

Musisz wyłączyć zabezpieczenia modów podczas przesyłania, więc utwórz plik .htaccess w folderze wp-admin i dodaj następujące kody.

<IfModule mod_security.c>
SecFilterWyłączony silnik
SecFilterScanPOST Wył.
</IfModule>

Spowoduje to wyłączenie mod_security dla kodu odbierającego przesyłany plik w wp-admin.
Uwaga: usuń to, jeśli powoduje błąd na serwerze.

Konflikt wtyczek

Potwierdzono, że w większości przypadków wtyczka kolidowała z procesem przesyłania. W wielu przypadkach nawet mój blog cierpiał z powodu konfliktów wtyczek.

jest to spowodowane przestarzałą wtyczką lub błędem składni, który został wywołany podczas aktualizacji do najnowszej wersji jednej lub innej wtyczki lub WordPressa.

problem z przesyłaniem obrazu
  • Ratować

Zauważyłem, że wtyczki, które pomagają w przesyłaniu, zmniejszaniu lub kompresowaniu obrazów, najczęściej powodują błąd. W niektórych przypadkach niektóre aplikacje komputerowe również wyzwoliły ten błąd, jeśli używasz tej aplikacji do kompresji lub renderowania obrazów.

Ponadto jetpack, wtyczki, które pomagają przesyłać na cdn lub aws lub serwery zdalne, powodują błąd WordPress podczas przesyłania obrazów.

Rozwiązanie

Kontynuuj wyłączanie jednej wtyczki na raz. Wyczyść pamięć podręczną i historię przeglądarki, a następnie ponownie odwiedź program do przesyłania multimediów, aby przesłać obraz i sprawdzić, czy się udało.

Jeśli nie, spróbuj nie używać żadnej wtyczki WordPress i aplikacji komputerowych i prześlij surowy plik .png lub .jpg i sprawdź, czy działa, czy nie.

Uprawnienia do plików

Jeśli nie jest to wtyczka lub ograniczona pamięć, która powoduje błąd podczas przesyłania obrazów, sugeruję, abyś spojrzał na uprawnienia do plików na swoim serwerze.

Uprawnienia do plików mogą zmieniać się automatycznie, nawet jeśli ich nie zmieniałeś.

Chcę wiedzieć. Jak to się zmieniło?

Jeśli Twoja firma hostingowa uruchomi aktualizację na swoich serwerach lub wtyczka została zaktualizowana przez Ciebie, uprawnienia do plików mogą zostać zmienione.

Jeśli korzystasz ze współdzielonego hostingu, istnieje możliwość, że haker uzyskał dostęp do Twoich plików, a Twoje uprawnienia do plików mogły zostać zmienione przez ładunek, który haker mógł przesłać.

uprawnienia-plików-ftp
  • Ratować

Możesz łatwo zmienić uprawnienia do pliku za pomocą programu FTP, używam Cyberducka do ftp na moim komputerze Mac i Windows PC.

Uzyskaj dostęp do plików przez FTP, a następnie przejdź do katalogu /wp-content/ . Tam zobaczysz folder /uploads/ . Kliknij prawym przyciskiem myszy katalog przesyłania i wybierz uprawnienia do plików.

Najpierw musisz ustawić uprawnienia do pliku dla samego katalogu przesyłania i wszystkich podkatalogów w nim na 744 . Aby to zrobić, wpisz 744 w polu wartości liczbowej , a następnie zaznacz pole obok Rekurencja do podkatalogów.

Na koniec musisz kliknąć przycisk opcji „Zastosuj tylko do katalogów”. Kliknij przycisk OK, aby zastosować te zmiany.

katalogi-pliki-uprawnienia
  • Ratować

Musisz powtórzyć ten sam proces, ale dla folderu przesyłania.

Musisz ustawić uprawnienia do wszystkich plików w katalogu przesyłania. Aby to zrobić, kliknij prawym przyciskiem myszy katalog przesyłania i wybierz uprawnienia do plików.

W uprawnieniach pliku okno dialogowe zmienia wartość liczbową na 644 . Zaznacz pole obok opcji Rekurencja do podkatalogów . Kliknij przycisk opcji Zastosuj tylko do plików. Kliknij przycisk OK, aby zastosować te zmiany.

Twój program FTP zastosuje te zmiany, a twój program do przesyłania obrazów będzie działał ponownie

Wersja PHP na serwerze

Pozostaje niezauważony przez całe zadanie, które wykonujesz podczas rozwiązywania tego błędu, jak w większości przypadków nikt o tym nie myśli.

Dlaczego ktokolwiek miałby, skoro w większości przypadków użytkownicy twierdzą, że działał do wczoraj, zanim nacisnąłem ten przycisk aktualizacji?

Jednak aktualizacja wtyczki, motywu lub WordPressa może wywołać ten błąd i kilka innych błędów, ponieważ WordPress jest oparty na PHP i ma pewne standardy, których należy przestrzegać, więc programista zawsze podaje wersję, która jest stabilna dla WordPressa.

Jeśli wersja PHP na Twoim serwerze nie jest taka sama, jak wymagana przez WordPress, skontaktuj się z obsługą techniczną serwera i poproś o wprowadzenie zmian w Twojej wersji PHP do wymagań WordPressa.

Otrzymuj tajemnice blogowania na swój adres e-mail.

Dołącz do 247 476 członków społeczności aktywnych blogerów, którzy korzystają z tej prostej, ale tajnej metody zwiększania ruchu bez korzystania z usług lub narzędzi premium SEO.

Nie spamujemy! Zgodny z RODO. Przeczytaj naszą politykę prywatności, aby uzyskać więcej informacji.

Sprawdź swoją skrzynkę odbiorczą lub folder ze spamem, aby potwierdzić subskrypcję.

Wniosek

(Aktualizacja) . Ta poprawka została wskazana przez kilku naszych czytelników. Dziękujemy im za to!

Upewnij się, że w nazwie pliku obrazu nie ma apostrofu (np. john's-blogging.png), ponieważ spowoduje to również błąd.

(Aktualizacja) . Jeśli używasz wtyczki optymalizatora obrazu, wyłącz ją i sprawdź, czy to rozwiąże problem.

Jeśli nadal masz problem, daj mi znać. Chętnie pomogę i skomentuję poniżej, która metoda zadziałała, aby naprawić ten błąd.