Naprawianie błędu Failed to Write File to Disk w WordPressie

Napotkanie błędu „Failed to Write File to Disk" w WordPressie może być częstym i frustrującym problemem. Ten komunikat o błędzie zwykle pojawia się przy próbie przesłania plików lub wykonania zadań wiążących się z zapisem danych na dysk.

W skrócie: Ten błąd ma trzy przyczyny źródłowe: katalog /tmp serwera jest pełny (często po tym, jak duża kopia zapasowa zapełni partycję), folder przesyłania WordPressa ma nieprawidłowe uprawnienia plików albo limit pamięci PHP wyczerpuje się w trakcie zapisu. Pięć metod poniżej zajmuje się każdą przyczyną źródłową — zacznij od tabeli decyzyjnej, aby wybrać właściwą dla swojej sytuacji.

Jakie są powody błędu „Failed to Write File to Disk"?

Błąd „Failed to Write File to Disk" może wystąpić z różnych powodów:

  • Pełny katalog tymczasowy: Gdy partycja /tmp serwera się zapełnia — najczęściej po dużej kopii zapasowej — WordPress nie może buforować przesyłanych plików, co wywołuje błąd. W zgłoszeniach do pomocy technicznej WP STAGING pełny katalog /tmp po zadaniu kopii zapasowej należy do najczęstszych wyzwalaczy.
  • Nieprawidłowe uprawnienia plików: Niewłaściwe uprawnienia plików uniemożliwiają WordPressowi zapis plików na dysk, co skutkuje błędami.
  • Wyczerpanie pamięci PHP: Niewystarczający limit pamięci PHP powoduje, że operacje zapisu zawodzą w trakcie. Widzieliśmy, jak ten błąd pojawia się natychmiast po obniżeniu planu hostingowego, które zmniejszyło limit pamięci PHP.
  • Konflikty wtyczek lub motywów: Konflikty między wtyczkami lub motywami mogą zakłócać zapis plików, prowadząc do błędów.
  • Problemy z konfiguracją serwera: Problemy z konfiguracją serwera, takie jak źle skonfigurowane ścieżki plików lub ograniczony dostęp, mogą powodować błąd.

Zidentyfikowanie przyczyny błędu „Failed to Write File to Disk" jest kluczowe dla rozwiązania problemu i zapewnienia niezawodnego przesyłania plików na Twojej witrynie WordPress.

Które rozwiązanie dotyczy mnie?

Skorzystaj z tej tabeli, aby wybrać punkt startowy, zanim przejdziesz przez pełną listę metod.

Kiedy występuje błąd? Zacznij od
Błąd pojawia się tylko przy przesyłaniu plików multimedialnych lub obrazów Metoda 1 (Wyczyść pliki tymczasowe) lub Metoda 2 (Dostosuj uprawnienia plików)
Błąd pojawił się po aktualizacji wersji PHP lub obniżeniu planu hostingowego Metoda 3 (Zwiększ limit pamięci PHP)
Błąd występuje przy wielu różnych operacjach, nie tylko przy przesyłaniu Metoda 2 (Dostosuj uprawnienia plików)
Aktualizacja rdzenia, motywu lub wtyczki WordPressa zawodzi w trakcie Metoda 4 (Zaktualizuj WordPressa i wtyczki)
Żaden z powyższych przypadków nie pasuje lub błąd utrzymuje się po innych metodach Metoda 5 (Skontaktuj się z dostawcą hostingu)

Metoda 1: Wyczyść pliki tymczasowe WordPressa

Oto wyjaśnienie krok po kroku techniki czyszczenia plików tymczasowych:

  1. Zaloguj się do panelu administracyjnego swojej witryny WordPress przy użyciu swoich danych logowania.
kokpit WordPressa
  1. Jeśli jeszcze tego nie zrobiłeś, rozważ zainstalowanie wtyczki cache, takiej jak WP Super Cache lub W3 Total Cache. Te wtyczki mogą pomóc skuteczniej zarządzać plikami tymczasowymi i je usuwać.
Instalacja WP Super Cache
  1. Jeśli masz wtyczkę cache, znajdź opcję czyszczenia pamięci podręcznej lub usuwania plików tymczasowych. Kliknij odpowiedni przycisk, aby usunąć pliki w pamięci podręcznej i dane tymczasowe przechowywane przez wtyczkę.
Usuwanie plików z pamięci podręcznej

Wykonując te kroki czyszczenia plików tymczasowych, możesz wyeliminować wszelkie buforowane lub tymczasowe dane, które mogą zakłócać zapis plików w WordPressie, potencjalnie rozwiązując błąd „Failed to Write File to Disk".

Metoda 2: Dostosuj uprawnienia plików

WordPress wymaga określonych uprawnień plików, aby zapisywać pliki pomyślnie. Pliki powinny być ustawione na 644, a katalogi na 755. Dokumentacja dla deweloperów WordPressa szczegółowo omawia prawidłowy schemat uprawnień.

Oto przewodnik krok po kroku dotyczący dostosowywania uprawnień plików, aby naprawić błąd „Failed to Write File to Disk" w WordPressie:

  1. Wejdź na swoje konto hostingowe i przejdź do panelu cPanel udostępnianego przez dostawcę hostingu.
kokpit cPanel
  1. Poszukaj ikony lub linku „File Manager" w interfejsie cPanel i kliknij go, aby otworzyć narzędzie do zarządzania plikami.
Menedżer plików cPanel
  1. W Menedżerze plików przejdź do katalogu, w którym znajduje się Twoja instalacja WordPress. Zazwyczaj jest to katalog public_html lub „www".
Folder public_html
  1. Zlokalizuj konkretne pliki lub katalogi powodujące błąd „Failed to Write File to Disk". Zwykle są związane z operacjami przesyłania lub zapisu plików.
Folder przesyłania
  1. Kliknij prawym przyciskiem myszy plik lub katalog i z menu kontekstowego wybierz „Change Permissions" lub „Permissions".
Zmiana uprawnień folderu
  1. W oknie uprawnień zobaczysz pola wyboru lub pola do wpisania, służące do modyfikacji uprawnień pliku. Ustaw odpowiednie uprawnienia dla pliku lub katalogu (np. 644 dla plików i 755 dla katalogów).
  2. Kliknij przycisk „Change Permissions" lub „Save", aby zastosować zmodyfikowane uprawnienia do wybranego pliku lub katalogu.
Zmiana uprawnień

Wykonując te kroki za pomocą Menedżera plików cPanel, możesz dostosować uprawnienia plików, aby umożliwić poprawny zapis plików w WordPressie i rozwiązać błąd „Failed to Write File to Disk".

Metoda 3: Zwiększ limit pamięci PHP

Gdy limit pamięci PHP jest zbyt niski, WordPress nie może ukończyć operacji zapisu. Dyrektywa memory_limit w php.ini kontroluje, ile pamięci może użyć pojedynczy proces PHP — wartości takie jak 256M lub 512M są powszechne na witrynach WordPress.

Aby zwiększyć limit pamięci PHP w WordPressie, możesz wykonać te kroki:

  1. Wejdź na swoje konto hostingowe i przejdź do panelu cPanel udostępnianego przez dostawcę hostingu.
kokpit cPanel
  1. W panelu cPanel zlokalizuj opcję „File Manager" i kliknij ją.
Menedżer plików cPanel
  1. Przejdź do głównego katalogu swojej instalacji WordPress, zwykle nazywanego katalogiem głównym (powszechnie public_html lub www).
Folder public_html
  1. Znajdź plik wp-config.php i kliknij go prawym przyciskiem myszy.
  2. Wybierz z menu kontekstowego opcję „Edit" lub „Code Edit". Jeśli zostaniesz o to poproszony, wybierz „Edit" ponownie.
Edycja pliku wp-config
  1. Poszukaj w pliku wp-config.php wiersza /* That's all, stop editing! Happy blogging. */.
  2. Tuż nad tym wierszem dodaj następujący kod:
PHP
define('WP_MEMORY_LIMIT', '256M');
Dodawanie kodu

Możesz zmodyfikować wartość 256M, aby ustawić pożądany limit pamięci, na przykład 512M dla 512 megabajtów.

  1. Zapisz zmiany w pliku wp-config.php i zamknij menedżera plików.
Zapisywanie zmian w wp-config

Wykonując te kroki zwiększania limitu pamięci PHP, możesz zapewnić WordPressowi więcej zasobów pamięci, co może pomóc pokonać błąd „Failed to Write File to Disk".

Metoda 4: Zaktualizuj WordPressa i wtyczki

Nieaktualne pliki rdzenia WordPressa lub wtyczki ze znanymi błędami obsługi plików mogą wywoływać błędy zapisu. Utrzymywanie WordPressa i wtyczek w aktualności zapewnia, że masz najnowsze poprawki błędów dla operacji systemu plików.

Oto krok aktualizacji WordPressa i wtyczek, który może pomóc rozwiązać błąd „Failed to Write File to Disk":

  1. Wejdź do panelu administracyjnego swojej witryny WordPress, wprowadzając odpowiednie dane logowania.
kokpit WordPressa
  1. W panelu WordPressa zlokalizuj kartę „Updates" w menu paska bocznego lub na górnym pasku nawigacji. Kliknij ją, aby kontynuować.
Karta aktualizacji
  1. Na stronie aktualizacji WordPress automatycznie sprawdzi dostępność aktualizacji rdzenia WordPressa, motywów i wtyczek zainstalowanych na Twojej witrynie. Jeśli aktualizacje są dostępne, zostaną wyświetlone.
WordPress aktualizuje się automatycznie
  1. Zacznij od aktualizacji rdzenia WordPressa. Jeśli dostępna jest nowa wersja, kliknij przycisk „Update Now", aby rozpocząć proces aktualizacji. WordPress automatycznie pobierze i zainstaluje najnowszą wersję.
Kliknij Update Now
  1. Po aktualizacji rdzenia przejdź do aktualizacji wtyczek. Zaznacz wtyczki, dla których dostępne są aktualizacje, lub użyj opcji „Select All", aby zaktualizować wszystko naraz. Kliknij przycisk „Update Plugins", aby rozpocząć proces aktualizacji.
Aktualizacja wtyczek

Po aktualizacji WordPressa i wtyczek spróbuj wykonać operację zapisu pliku, która wcześniej wywoływała błąd, aby potwierdzić, czy problem został rozwiązany. Jeśli błąd nadal występuje, przejdź przez sekcję rozwiązywania problemów poniżej.

Metoda 5: Skontaktuj się z dostawcą hostingu

Jeśli wypróbowałeś powyższe metody, a błąd nadal występuje, kolejnym krokiem jest zespół wsparcia Twojego dostawcy hostingu. Ma on dostęp na poziomie serwera, aby sprawdzić php.ini, ustawienia limitu dysku i uprawnienia katalogów, które nie są dostępne za pomocą samego cPanel.

Skontaktuj się z dostawcą hostingu, aby rozwiązać błąd „Failed to Write File to Disk". Zidentyfikuj swojego dostawcę hostingu i odwiedź jego witrynę. Skorzystaj z jego sekcji wsparcia lub kontaktu, aby wybrać preferowaną metodę kontaktu (czat na żywo, e-mail lub telefon). Podaj komunikat o błędzie, wszelkie wpisy z dziennika debugowania z wp-content/debug.log oraz potwierdzenie, że już próbowałeś wyczyścić pliki tymczasowe, dostosować uprawnienia i zwiększyć limit pamięci.

Postępuj zgodnie z jego wskazówkami i instrukcjami. W razie potrzeby przekaż opinię lub poproś o dalszą pomoc. Zespół wsparcia dostawcy hostingu może skutecznie rozwiązać błąd.

Co zrobić, jeśli błąd nadal występuje

Jeśli żadna z pięciu powyższych metod nie rozwiąże problemu, przyczyna źródłowa prawdopodobnie leży w konfiguracji na poziomie serwera, której cPanel nie udostępnia bezpośrednio. Trzy najczęstsze zaawansowane przyczyny to:

  • upload_tmp_dir nadpisany w php.ini: Twój dostawca hostingu mógł ustawić niestandardową dyrektywę upload_tmp_dir w php.ini, wskazującą na katalog o niewystarczających uprawnieniach do zapisu lub na pełną partycję. Poproś hosta o sprawdzenie ścieżki upload_tmp_dir i dostępnego na niej miejsca na dysku.
  • Ograniczenie open_basedir: Niektóre konfiguracje hostingu ograniczają PHP do określonych drzew katalogów za pomocą dyrektywy open_basedir. Jeśli skonfigurowana ścieżka tymczasowa wypada poza tym ograniczeniem, PHP nie może tam zapisywać. Poproś hosta o potwierdzenie wartości open_basedir oraz czy Twoje katalogi tymczasowy i przesyłania mieszczą się w nim.
  • Limit dysku na poziomie serwera: Limit dysku konta hostingowego ogranicza całkowitą przestrzeń niezależnie od limitu partycji /tmp. Pełny limit blokuje wszystkie zapisy plików niezależnie od uprawnień poszczególnych folderów. Sprawdź podsumowanie wykorzystania dysku w panelu sterowania hostingu, aby potwierdzić, że nie osiągnąłeś limitu konta.

Podsumowanie

Błąd „Failed to Write File to Disk" w WordPressie można rozwiązać, czyszcząc pliki tymczasowe, dostosowując uprawnienia plików, zwiększając limit pamięci PHP, aktualizując WordPressa i wtyczki oraz kontaktując się z dostawcą hostingu.

Jeśli te kroki nie rozwiążą problemu, kolejną warstwą diagnostyczną jest konfiguracja serwera: sprawdź, czy Twój host nadpisał upload_tmp_dir, zastosował ograniczenie open_basedir lub wymusił limit dysku na poziomie serwera. Przejście przez tę sekwencję obejmuje pełen zakres przyczyn tego błędu.

Powiązane artykuły

Rene Hermenau

Autor: Rene Hermenau

O autorze: René Hermenau jest założycielem WP STAGING. Zajmuje się kopiami zapasowymi WordPressa, środowiskami stagingowymi, migracjami, obsługą baz danych oraz bezpiecznymi procesami wdrażania.