Fixing errors when uploading images in WordPress

Poniższa dokumentacja zawiera przegląd najczęstszych problemów występujących podczas przesyłania obrazów w WordPress, oraz rozwiązania dla nich:

  • Nazwa pliku obrazu
  • BłądHTTP podczas przesyłania obrazu
  • Nie można utworzyć katalogu i zepsute obrazy w Bibliotece Mediów
  • Plik przekracza upload_max_filesize

WordPress Upload Image -... Media Library

Sprawdź nazwę pliku obrazu

Pierwszą rzeczą, którą należy sprawdzić, jest nazwa obrazu. Jeśli nazwa pliku zawiera jakikolwiek znak specjalny (jak średnik lub znak równości itp.) może nie zostać przesłany.

BłądHTTP podczas przesyłania obrazu

To się dzieje, gdy próbujesz przesłać obraz, który jest duży w rozmiarze piksela, na przykład obraz z 3000 x 2000 pikseli. Który jest zbyt duży dla twojego serwera, aby go przetworzyć.
Niektóre serwery pokazują błąd nawet jeśli twój obraz jest mniejszy niż 3000 x 2000 pikseli, to wszystko zależy od zasobów twojego serwera.

Błąd HTTP.

Rozwiązania

Poniżej znajdują się niektóre rozwiązania dostępne w celu naprawienia problemu błędu HTTP w WordPress.

Zmniejsz rozmiar obrazu przed przesłaniem.

  • Jeśli używasz komputera Mac, możesz użyć aplikacji Podgląd, aby zmniejszyć rozmiar obrazu.
  • W przypadku komputerów PC możesz użyć aplikacji Paint.
  • W temacie Customizr i Customizr Pro, rozmiar obrazu suwaka w ramce to 1170px x 500px, dlatego możesz zmniejszyć swój obraz o ten rozmiar przed przesłaniem.
  • Zmniejsz rozmiar obrazu metodą prób i błędów, aż będziesz w stanie przesłać go bez żadnego błędu.

Zwiększ pamięć PHP

  • Skontaktuj się z firmą hostingową i poproś o zwiększenie limitu pamięci PHP. Zwiększaj stopniowo, aż będziesz w stanie załadować obraz o rozmiarze, który jest do zaakceptowania przez Ciebie. Przynajmniej około szerokości 2000px.
  • Jeśli wolisz zrobić to sam, możesz dodać następujące elementy w swoim wp-config.php. Będzie to działać tylko wtedy, gdy twój pakiet hostingowy ma taką ilość pamięci. Zwiększaj stopniowo, aż będziesz w stanie przesłać rozmiar obrazu, który jest akceptowalny przez ciebie.
    define( 'WP_MEMORY_LIMIT', '256M' );
  • Możesz również spróbować zwiększyć pamięć, dodając następujące elementy w swoim pliku .htaccess. To będzie działać tylko wtedy, gdy twój pakiet hostingowy ma taką ilość pamięci. Zwiększaj stopniowo, aż będziesz w stanie przesłać obraz o rozmiarze, który jest do zaakceptowania przez Ciebie.
    Uwaga: Niektóre hostingi nie pozwalają na to i będziesz miał 500 wewnętrzny błąd serwera. W tym przypadku będziesz musiał usunąć ten kod.
    php_value memory_limit 256M
  • Jeśli masz dostęp do pliku php.ini swojego serwera, możesz znaleźć memory_limit i zwiększyć jego rozmiar. To będzie działać tylko wtedy, gdy twój pakiet hostingowy ma taką ilość pamięci. Zwiększaj stopniowo, aż będziesz w stanie przesłać obraz o rozmiarze, który jest do zaakceptowania przez ciebie.
    memory_limit = 256M

ModSecurity

  • Twój serwer może mieć mod_security, i to może być przyczyną problemów.
    Wyłącz go, aby sprawdzić, czy to jest problem.
    Aby to zrobić, utwórz plik .htaccess w swoim katalogu wp-admin.
    Dodaj do niego następujący kod:
    <IfModule mod_security.c> SecFilterEngine Off SecFilterScanPOST Off </IfModule>

    To wyłączy mod_security dla kodu odbierającego plik uploadu w wp-admin.
    Uwaga: Usuń to, jeśli powoduje to jakikolwiek błąd na twoim serwerze.

Kontrola dostępu oparta na uwierzytelnianiu

  • Jeśli używasz kontroli dostępu opartej na uwierzytelnianiu na swoim serwerze WWW (często znanym jako htpasswd, Basic Authentiaction, katalog chroniony hasłem lub podobny), WordPress nie jest w stanie obsłużyć go dla Flash Uploader, Cron i XMLRPC. Powiązane pliki muszą być wykluczone do pracy. Na następujące w swoim pliku .htaccess w folderze głównym WordPress.
    # Exclude the file upload and WP CRON scripts from authentication<FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$"> Satisfy Any Order allow,deny Allow from all Deny from none</FilesMatch>

Konflikt wtyczek

  • Mogłeś zainstalować wtyczkę, która powoduje ten problem. Proszę wyłączyć jedną wtyczkę na raz. Wyczyść pamięć podręczną i historię przeglądarki i ponownie odwiedź media uploader, aby przesłać swój obraz (zachowaj mały rozmiar piksela) i sprawdź, czy Ci się udało.

Nie można utworzyć katalogu i uszkodzone obrazy w bibliotece multimediów

Jeśli nie możesz zobaczyć miniatur w bibliotece multimediów i napotykasz następujący błąd podczas przesyłania obrazu.

Nie można utworzyć katalogu wp-content/uploads/2016/02. Czy jego katalog nadrzędny jest zapisywalny przez serwer?

Dzieje się tak, gdy uprawnienia Twojego katalogu wp-content/uploads zostały zmienione. Może się to zdarzyć, gdy przypadkowo zmieniłeś jego uprawnienia lub twój technik hostingowy może wykonywać pewne prace konserwacyjne i przypadkowo zresetować jego uprawnienia do folderu.

Rozwiązanie

  • Zaloguj się na swój serwer za pomocą ulubionego programu FTP. (jak używać programu FTP z WordPressem ? )
  • Przejdź do wp-content/uploads/
  • Użyj swojego programu FTP, aby zmienić uprawnienia folderu uploads na 755, zastosuj do wszystkich załączonych elementów.
    To upewni się, że wszystkie elementy i foldery w folderze uploads są ustawione na 755.
  • Wyczyść pamięć podręczną przeglądarki.
  • Zaloguj się do WordPress i odwiedź swoją Bibliotekę Mediów, powinieneś widzieć wszystkie miniaturki przesłanego obrazu.
  • Powinieneś być w stanie przesłać obraz bez wyświetlania błędu unable to create directory.

Plik przekracza upload_max_filesize

To się dzieje, gdy twój PHP Upload Max Filesize (upload_max_filesize) ustawiony w twoim php.ini, jest mniejszy niż rozmiar pliku obrazu, który próbujesz przesłać.

Zajrzyj do Informacji o systemie dla wartości PHP Upload Max Filesize, będziesz musiał zwiększyć ją do wyższej i zdrowszej wartości.

..exceeds the maximum upload size for this site.

Rozwiązania

Poniżej przedstawiono kilka rozwiązań dostępnych do naprawienia problemu exceeded upload max filesize w WordPress.

Contact your Hosting Company

Tak, to jest najbardziej preferowany sposób. Skontaktuj się z firmą hostingową i pokazać im zrzut ekranu błędu lub napisać do nich komunikat o błędzie. Poproś ich o pomoc w zwiększeniu następujących wartości, aż będziesz w stanie przesłać swój obraz. Twoja firma hostingowa może mieć ograniczenia na te wartości.

upload_max_filesize post_max_size max_execution_time max_input_time

Najlepiej do następujących wartości.

upload_max_filesize 64M post_max_size 64M max_execution_time 300 max_input_time 300

Edycja pliku php.ini

Plik php.ini jest domyślnym plikiem konfiguracyjnym PHP. Większość firm hostingowych nie pozwala na dostęp do tego pliku. Jeśli jesteś pewien, że masz dostęp do pliku php.ini na swoim serwerze, możesz wykonać następujące kroki.

  1. Dostęp do niego za pomocą programu FTP. ( jak używać programu FTP z WordPressem ? )
  2. Zrób kopię zapasową tego pliku przed próbą jego edycji.
  3. Otwórz go i znajdź następujące wartości, jedna po drugiej (Znajdują się one w różnych liniach wewnątrz pliku)
    upload_max_filesize post_max_size max_execution_time max_input_time
  4. Preferably, edytuj je do następujących wartości.
    upload_max_filesize 64M post_max_size 64M max_execution_time 300 max_input_time 300

Używanie pliku .htaccess

W WordPressie istnieje plik .htaccess. WordPress używa tego pliku do manipulowania tym, jak Apache (serwer) obsługuje pliki z jego katalogu głównego i podkatalogów. Dlatego ten plik jest bardzo ważny. Nie należy edytować tego, co jest oryginalnie napisane w tym pliku. Możesz dodać kilka dyrektyw na końcu pliku, aby zwiększyć maksymalny rozmiar plików PHP Upload. Dowiedz się więcej o pliku htaccess w WordPress tutaj.

  1. Użyj swojego ulubionego programu FTP, aby uzyskać dostęp do swojej instalacji WordPress.
  2. Przejdź do katalogu głównego, jest to katalog, w którym można znaleźć swój plik wp-config.php. Powinieneś być w stanie znaleźć swój plik .htaccess.
  3. Pobierz jego kopię na swój komputer, aby zapisać jako kopię zapasową.
  4. Otwórz go i dodaj następujące elementy do nowej linii na końcu pliku.
    php_value upload_max_filesize 64M php_value post_max_size 64M php_value max_execution_time 300 php_value max_input_time 300
  5. Zapisz swoje zmiany i nadpisz plik .htaccess na swoim serwerze.
  6. Powróć do Informacji o systemie i sprawdź, czy wartości się zmieniły.
    Jeśli nie, powinieneś skontaktować się z firmą hostingową w celu uzyskania pomocy w edycji tych wartości w pliku php.ini.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.