Nie można utworzyć katalogu uploads w WordPress po migracji? (Mimo CHMOD 777) – Jak to naprawić?

  • 24 lipca, 2026

Przeniosłeś swojego WordPressa na nowy serwer, próbujesz dodać wpis, wgrywasz zdjęcie i… bum! Pojawia się irytujący błąd:

„Nie udało się wysłać pliku […] na serwer. Nie można utworzyć katalogu »uploads/2026/07«. Czy WordPress ma uprawnienie do zapisu do katalogu nadrzędnego?”

Pierwsza intuicyjna reakcja? Logujesz się przez FTP i ustawiasz uprawnienia katalogu

1
wp-content/uploads

na

1
777

 Niestety – odświeżasz stronę, próbujesz ponownie i… dalej to samo.

Dlaczego tak się dzieje i jak to szybko naprawić? Problem wcale nie leży w uprawnieniach plików, lecz w starej konfiguracji bazy danych.

Dlaczego CHMOD 777 nie działa?

Podczas migracji witryny kopiujemy pliki oraz bazę danych MySQL. W starszych wersjach WordPressa (lub w witrynach, które miały wielokrotnie zmieniany hosting) sztywna ścieżka absolutna do katalogu z plikami zostaje zapisana na stałe w bazie danych.

Jeśli na starym serwerze Twoja strona leżała pod ścieżką:

1
/home/user123/domains/mojastrona.pl/public_html/wp-content/uploads

A na nowym serwerze nowa ścieżka to np.:

1
/var/www/vhosts/mojastrona.pl/httpdocs/wp-content/uploads

…to WordPress nadal próbuje utworzyć folder pod starą ścieżką z pierwszego serwera. Ponieważ ta ścieżka na nowym hostingu nie istnieje, system zwraca błąd o braku uprawnień – mimo że sam folder

1
uploads

na nowym serwerze ma pełne uprawnienia do zapisu.

 

Jak naprawić błąd wgrywania plików po migracji? (Krok po kroku)

Masz do wyboru dwie proste metody. Pierwsza polega na usunięciu złej ścieżki z bazy danych, druga na nadpisaniu jej w pliku konfiguracyjnym.

Metoda 1: Czyszczenie ścieżki w phpMyAdmin (Zalecana)

  1. Zaloguj się do panelu zarządzania hostingiem (cPanel, DirectAdmin itp.) i otwórz phpMyAdmin.
  2. Wybierz bazę danych swojego WordPressa.
  3. Otwórz tabelę
    1
    wp_options

    (uwaga: przedrostek

    1
    wp_

    może być inny na Twojej stronie, np.

    1
    wx_options

    ).

  4. Szukaj rekordu, gdzie w kolumnie
    1
    option_name

    znajduje się wartość

    1
    upload_path

    • Wskazówka: Możesz użyć zakładki Szukaj w phpMyAdmin.
  5. Zobaczysz tam starą ścieżkę do plików. Kliknij Edytuj i całkowicie wyczyść pole
    1
    option_value

    (zostaw je puste).

  6. Upewnij się również, że pole
    1
    upload_url_path

    jest puste.

  7. Kliknij Wykonaj (zapisz).

Gdy pole jest puste, WordPress przełącza się na dynamiczne ustalanie ścieżki i zaczyna używać domyślnego odnośnika względnego:

1
wp-content/uploads

Metoda 2: Wymuszenie ścieżki w

1
wp-config.php

Jeśli nie chcesz lub nie masz dostępu do phpMyAdmin, możesz wymusić poprawną ścieżkę z poziomu kodu:

  1. Połącz się ze stroną przez FTP lub Menedżer Plików.
  2. Znajdź i edytuj plik
    1
    wp-config.php

    w katalogu głównym.

  3. Przed linią
    1
    /* That's all, stop editing! Happy publishing. */

    dodaj poniższy kod:

  
1
define( 'UPLOADS', 'wp-content/uploads' );

Na koniec zapisz plik i prześlij go na serwer.

WAŻNE: Pamiętaj o bezpieczeństwie! Przywróć bezpieczny CHMOD

Jeśli na czas walki z błędem ustawiłeś na foldery uprawnienia

1
777

, jak najszybciej je zmień! Nadanie każdemu użytkownikowi pełnych praw do odczytu, zapisu i wykonywania plików w katalogu mediów to otwarcie drzwi dla skryptów hakerskich.

Prawidłowe, bezpieczne uprawnienia w WordPressie to:

  • Katalogi:
    1
    755

    (lub

    1
    775

    w zależności od konfiguracji serwera)

  • Pliki:
    1
    644

Możesz je łatwo zmienić hurtowo w programie FileZilla (klikając prawym przyciskiem myszy na folder

1
wp-content

-> Uprawnienia pliku) lub wykonując komendę w konsoli SSH:

  
1
2
find /sciezka-do-wordpressa/wp-content/ -type d -exec chmod 755 {} \;
find /sciezka-do-wordpressa/wp-content/ -type f -exec chmod 644 {} \;

Podsumowanie

Po wykonaniu poprawek w bazie danych wyloguj się z kokpitu WordPressa, zaloguj ponownie i spróbuj wgrać plik. Problem z brakiem możliwości utworzenia katalogu

1
uploads/YYYY/MM

powinien zniknąć od razu!

Title
Caption
File name
Size
Alignment
Link to
  Open new windows
  Rel nofollow