Jak znaleźć, uzyskać dostęp i edytować plik wp-config.php w WordPress
Opublikowany: 2022-07-14Co to jest wp-config.php w WordPressie?
Plik wp-config.php to podstawowy plik instalacyjny WordPress zawierający szczegóły najważniejszych ustawień konfiguracyjnych Twojej witryny. Przedrostek „wp” oznacza „WordPress”, „config” to skrót od „konfiguracja”, a typ pliku „.php” wskazuje typ kodu zawartego w pliku — PHP.
Bez wp-config.php Twoja witryna po prostu nie działałaby. WordPress wymaga tego pliku, co najważniejsze, aby połączyć się z bazą danych, w której przechowywane są informacje, takie jak ustawienia WordPress, treść postów, ustawienia motywów i wtyczek oraz dane użytkownika. wp-config.php jest nie tylko pomostem między plikami witryny a bazą danych, ale także umożliwia dołączenie kluczy bezpieczeństwa; zmienić prefiksy tabeli; przenieść podstawowe foldery plików WordPress, takie jak wp-plugins , wp-uploads i wp-content ; i wykonać inne zaawansowane konfiguracje.
Gdzie znajduje się plik wp-config.php ?
Teraz, gdy wiesz, co robi wp-config.php , prawdopodobnie zastanawiasz się: „Gdzie znajduje się wp-config.php ?” Jeśli szukasz lokalizacji wp-config.php w już istniejącej witrynie WordPress, znajdziesz ją w folderze głównym instalacji WordPress. Twój folder główny zawiera foldery wp-admin , wp-content i wp-includes . Pod tymi folderami zobaczysz listę plików, z których wiele zaczyna się od prefiksu „wp-”. Tutaj znajdziesz plik wp-config.php .
Jeśli jednak pobierasz i konfigurujesz WordPress po raz pierwszy, plik wp-config.php nie zostanie uwzględniony. Zamiast tego zostanie utworzony automatycznie podczas procesu instalacji WordPress. Podczas konfiguracji zostaniesz poproszony o podanie pewnych informacji, takich jak:
- Nazwa bazy danych : Nazwa bazy danych powiązanej z Twoją instalacją WordPress
- Nazwa użytkownika bazy danych : Nazwa użytkownika używana do uzyskania dostępu do bazy danych
- Hasło bazy danych : Hasło powiązane z użytkownikiem bazy danych
- Host bazy danych : nazwa hosta serwera bazy danych (zwykle „localhost”, ale może się różnić w zależności od dostawcy hostingu)
WordPress użyje następnie tych informacji do utworzenia pliku wp-config.php w katalogu głównym.
Możesz także ręcznie skonfigurować wp-config.php , jeśli wolisz. Może to być dobra opcja, jeśli masz wiele niestandardowych ustawień, które chcesz dodać do konfiguracji witryny.
Jak uzyskać dostęp do wp-config.php ?
Istnieje kilka prostych metod dostępu do wp-config.php — poprzez bezpieczny protokół przesyłania plików (SFTP) lub cPanel, jeśli zapewnia to Twoja firma hostingowa.
1. Dostęp do wp-config.php przez SFTP
Krok 1: Zainstaluj klienta SFTP. Pierwszym krokiem będzie pobranie i zainstalowanie klienta SFTP, jeśli jeszcze go nie masz. Kilka dobrych opcji to:
Aplikacja | System | Bezpłatna lub Premium |
WinSCP | Okna | Bezpłatny |
Filezilla | Windows, Mac, Linux | Opcje bezpłatne i premium |
Cyberkaczka | Windows, Mac | Bezpłatny |
Przekazać | Prochowiec | Premia |
W tym przykładzie użyjemy Filezilli, ale inni klienci SFTP powinni działać podobnie.
Krok 2: Pobierz swoje dane uwierzytelniające SFTP. Po zainstalowaniu klienta SFTP będziesz potrzebować poświadczeń SFTP od dostawcy hostingu witryn, aby uzyskać dostęp do serwera. Znajdziesz te szczegóły w panelu sterowania hostingu. W zależności od hosta informacje te mogą być generowane dla Ciebie lub konieczne może być przejście przez proces tworzenia nazwy użytkownika i hasła SFTP. Jeśli nie masz pewności, gdzie znaleźć te poświadczenia lub jak je utworzyć, poproś pomoc swojego hosta lub przeszukaj jego dokumentację pomocy, aby uzyskać instrukcje. Szczegóły, których będziesz potrzebować dla swojego klienta SFTP, to:
- Host (adres IP lub url Twojego serwera na żywo)
- Nazwa użytkownika SFTP
- Hasło
- Numer portu
Krok 3: Wprowadź swoje dane uwierzytelniające w kliencie SFTP. Wprowadź adres IP lub URL hosta, nazwę użytkownika SFTP, hasło i numer portu.
Uwaga: Jeśli Twój klient SFTP korzysta z uwierzytelniania przy pierwszym użyciu (TOFU), możesz otrzymać alert „Nieznany klucz hosta”. Kliknij „OK” i kontynuuj. Zaznacz „Zawsze ufaj temu hostowi, dodaj ten klucz do pamięci podręcznej”, jeśli planujesz ponownie użyć klienta SFTP do uzyskania dostępu do witryny.
Krok 4: Przejdź do katalogu głównego witryny.
Po zalogowaniu się do serwera przez SFTP, zobaczysz drzewo plików wyświetlane w dwóch prawym dolnym panelu ekranu, które zawiera listę katalogów na twoim serwerze sieciowym (zdalnie). Po lewej stronie znajduje się lista katalogów z Twojego komputera (lokalnego).
Twój katalog główny zwykle znajduje się w folderze oznaczonym „www” lub „public_html”, ale może używać innej nazwy. Konwencje nazewnictwa folderów głównych różnią się na niektórych hostach, więc jeśli nie masz pewności, w którym folderze szukać, zapytaj swojego dostawcę usług hostingowych. Będziesz wiedział, że jesteś we właściwym folderze, jeśli zobaczysz foldery wp-admin , wp-content i wp-includes u góry listy plików.
Krok 5: Wybierz lub utwórz folder na komputerze lokalnym, do którego chcesz dodać plik wp-config.php . Jeśli masz już wybrany folder, użyj lewego panelu, aby przejść do niego i go otworzyć. Jeśli nie, znajdź katalog, w którym chcesz utworzyć nowy folder, kliknij prawym przyciskiem myszy w lewym okienku i wybierz Utwórz katalog .
Nazwij swój katalog, a następnie kliknij OK .
Kliknij dwukrotnie, aby otworzyć nowo utworzony katalog.
Krok 6: Znajdź i pobierz wp-config.php . Plik wp-config.php znajduje się w folderze głównym, więc po prostu przewiń w dół do wp-config.php w prawym dolnym okienku klienta SFTP. Kliknij prawym przyciskiem myszy wp-config.php i kliknij Pobierz lub po prostu przeciągnij plik z prawego okienka do żądanego folderu w lewym okienku.
Twój plik wp-config.php powinien zostać teraz pobrany na komputer lokalny w wybranym wcześniej katalogu. Powinieneś być w stanie znaleźć go w przeglądarce plików komputera.
2. Dostęp do wp-config.php w cPanel
Jeśli twój host używa cPanel, możesz uzyskać dostęp do wp-config.php za pomocą menedżera plików cPanel. Jeśli nie wiesz, jak znaleźć cPanel na pulpicie nawigacyjnym hosta, skontaktuj się z obsługą klienta, aby uzyskać pomoc.
Krok 1: Otwórz Menedżera plików cPanel. Gdy znajdziesz się w cPanel, przejdź do sekcji Pliki i kliknij Menedżer plików .
Krok 2: Otwórz folder główny swojej witryny. Folder główny jest powszechnie nazywany „www” lub „public_html”, ale może mieć inną nazwę. Konwencje nazewnictwa folderów głównych różnią się na niektórych hostach, więc jeśli nie masz pewności, w którym folderze szukać, zapytaj swojego dostawcę usług hostingowych. Będziesz wiedział, że jesteś we właściwym folderze, jeśli zobaczysz foldery wp-admin , wp-content i wp-includes u góry listy plików.
Krok 3: Znajdź i pobierz wp-config.php . Plik wp-config.php znajduje się w folderze głównym, więc po prostu przewiń w dół do wp-config.php w prawym okienku Menedżera plików cPanel. Kliknij prawym przyciskiem myszy wp-config.php i kliknij Pobierz lub kliknij wp-config.php , a następnie kliknij opcję Pobierz z górnego menu.
Wybierz lub utwórz folder, w którym chcesz umieścić plik wp-config.php (NIE zmieniaj jego nazwy) i kliknij Zapisz .
Twój plik wp-config.php powinien zostać teraz pobrany na komputer lokalny w wybranym katalogu. Powinieneś być w stanie znaleźć go w przeglądarce plików komputera.
Jak edytować plik wp-config.php?
Istnieją dwie opcje edycji wp-config.php . Możesz użyć edytora kodu źródłowego lub edytować go bezpośrednio w cPanel. Przed edycją pliku wp-config.php w WordPress zawsze upewnij się, że wykonałeś kopię zapasową swojej witryny!
1. Utwórz kopię zapasową swojej witryny
Za każdym razem, gdy wprowadzasz poważną zmianę w swojej witrynie — zwłaszcza w podstawowych plikach lub wtyczkach WordPress — ryzykujesz, że coś pójdzie nie tak. Może to być coś tak drobnego, jak ledwo dostrzegalny problem z wyświetlaniem na przerażającym białym ekranie śmierci. Aby zapobiec przestojom i utracie danych podczas wprowadzania zmian w kluczowych aspektach witryny, zawsze najpierw wykonaj kopię zapasową. Jeśli nie masz jeszcze zainstalowanego narzędzia do tworzenia kopii zapasowych w swojej witrynie, Jetpack Backup to niedrogie rozwiązanie z przywracaniem jednym kliknięciem.
Wszystkie kopie zapasowe? Dobrze. Możemy rozpocząć edycję pliku wp-config.php .
2. Jak edytować wp-config.php za pomocą edytora kodu źródłowego?
Najlepszym sposobem edycji wp-config.php jest wybrane oprogramowanie do edycji kodu. Ponieważ edytujesz kopię wp-config.php , która jest w trybie offline na komputerze lokalnym, nie musisz być podłączony do Internetu, aby pracować nad swoim plikiem i jest mniej prawdopodobne, że nadpiszesz oryginalny wp-config Plik .php po przesłaniu go z powrotem na serwer (w przeciwieństwie do edycji bezpośrednio w cPanel).
Krok 1: Otwórz wp-config.php w edytorze kodu źródłowego. Jeśli nie jesteś zaznajomiony z używaniem edytora kodu źródłowego, istnieje kilka bezpłatnych opcji do wyboru.
Darmowy kod źródłowy i edytory zwykłego tekstu:
Aplikacja | System |
Notatnik++ | Okna |
Atom.io | Windows, Mac, Linux |
Wzniosły | Windows, Mac, Linux |
TekstEdytuj *upewnij się, że jesteś w trybie zwykłego tekstu | Mac (domyślna aplikacja) |
Notatnik | Windows (aplikacja domyślna) |
Krok 2: Edytuj wp-config.php i zapisz go na swoim komputerze lokalnym. Twój wyświetlacz może wyglądać inaczej w zależności od programu używanego do edycji pliku wp-config.php . Tak wygląda część kodu w atom.io:
Dodaj lub zmień potrzebne informacje, a następnie zapisz plik. Przejdź do „Co możesz skonfigurować za pomocą wp-config.php ?” aby dowiedzieć się więcej o różnych typach edycji, które możesz wprowadzić w pliku wp-config.php .
Krok 3: Zaloguj się do serwera WWW przez SFTP lub cPanel. Przejdź do folderu głównego witryny i znajdź plik wp-config.php .
Krok 4: Zmień nazwę pliku wp-config.php na swoim serwerze WWW. Jeśli edytowana wersja zawiera błędy, nie chcesz nadpisywać oryginalnego pliku. Chcesz mieć możliwość szybkiego przywrócenia oryginalnego pliku wp-config.php, więc zmiana jego nazwy na coś takiego jak „wp-config-orginal.php” nie tylko zapewni, że WordPress zignoruje ten plik, ale także zawartość oryginalnego pliku istnieją na twoim serwerze.
Jeśli przypadkowo nadpiszesz plik wp-config.php , a Twoja edytowana wersja ma problemy, zawsze możesz przywrócić witrynę z kopii zapasowej. Jednak zawsze dobrze jest zachować kopię oryginalnego pliku wp-config.php w celu szybkiego przywrócenia, gdyby coś poszło nie tak. Jeśli nie masz gdzieś pliku kopii zapasowej — zwłaszcza jeśli masz wiele ustawień niestandardowych — może to być ogromny problem i spowodować wiele przestojów witryny w celu odzyskania oryginalnych informacji.
Krok 5: Prześlij wp-config.php z komputera lokalnego na serwer WWW. Za pomocą SFTP lub cPanel prześlij plik wp-config.php do katalogu głównego serwera WWW.
Klient SFTP:
cPanel:
Krok 6: Odwiedź swoją witrynę i sprawdź, czy wyświetla się i działa poprawnie. Udało Ci się przesłać plik wp-config.php , więc teraz nadszedł czas, aby upewnić się, że wszystko działa w Twojej witrynie zgodnie z zamierzeniami. Odwiedź fronton swojej witryny, a także zaloguj się do pulpitu WordPress, aby upewnić się, że wszystko jest dostępne, wyświetla się poprawnie i że wszystkie funkcje witryny, takie jak formularze, nawigacja, funkcje eCommerce itp., działają.
Krok 7: Usuń stary plik o zmienionej nazwie wp-config.php . Po ustaleniu, że witryna działa poprawnie, możesz usunąć wp-config-original.php (lub cokolwiek zmieniłeś jego nazwę).
3. Jak edytować wp-config.php bezpośrednio w cPanel?
Jeśli nie masz lub nie chcesz używać edytora kodu źródłowego, możesz edytować wp-config.php bezpośrednio w cPanel (jeśli twój host używa cPanel). Jest to trochę bardziej ryzykowne niż edycja na komputerze lokalnym. Jeśli Twoje połączenie internetowe zostanie przerwane podczas edytowania, możesz utracić wprowadzone zmiany. Istnieje również ryzyko potencjalnego zastąpienia oryginalnego pliku wp-config.php bez uprzedniego zapisania kopii zapasowej. Ale tak długo, jak tworzysz kopię oryginalnego pliku wp-config.php i masz niezawodne połączenie internetowe, powinieneś być stosunkowo bezpieczny podczas edycji bezpośrednio w cPanel.
Krok 1: Znajdź wp-config.php w cPanel. W cPanel kliknij „Menedżer plików”.
Przejdź do swojego folderu głównego (zwykle 'public_html' lub 'www' , ale w zależności od hosta może on nazywać się inaczej).
Krok 2: Utwórz nowy folder dla pliku kopii zapasowej wp-config.php . W menu głównym Menedżera plików kliknij + Folder , aby dodać nowy folder. Utworzymy kopię twojego pliku wp-config.php i zapiszemy go tutaj jako kopię zapasową.
Nazwij swój nowy folder w sposób łatwy do zidentyfikowania, na przykład „konfiguracja kopii zapasowej” , aby móc go później łatwo znaleźć. Kliknij opcję Utwórz nowy folder .
Krok 3: Znajdź wp-config.php w folderze głównym i skopiuj go do folderu kopii zapasowej. W katalogu głównym przewiń w dół do wp-config.php i kliknij prawym przyciskiem myszy nazwę pliku. Wybierz Kopiuj .
Pojawi się okno dialogowe z prośbą o wprowadzenie ścieżki do pliku, do którego chcesz skopiować plik. Zwykle będzie on zawierał wstępnie wypełnioną nazwę folderu głównego, więc wystarczy dodać nazwę folderu kopii zapasowej, który właśnie utworzyłeś po „/public_html/ ” (lub innej nazwie folderu głównego). Jeśli więc folder kopii zapasowej nosi nazwę „backup config”, ścieżka do pliku będzie wyglądać jak „/public_html/backup config”. '
Kliknij opcję Kopiuj plik(i) .
Po skopiowaniu pliku przejdź do folderu „ backup config” , a zobaczysz tam wp-config.php . Powinieneś iść dalej i zmienić nazwę, aby nie pomylić tego pliku wp-config.php i tego, który chcesz edytować. Kliknij prawym przyciskiem myszy plik wp-config.php i kliknij Zmień nazwę .
Możesz zmienić jego nazwę na dowolną, ale w tym przypadku zmienimy nazwę na wp-config-original.php .
Krok 4: Wróć do wp-config.php w katalogu głównym. Teraz, gdy mamy kopię zapasową naszego pliku wp-config.php , wrócimy do pliku wp-config.php w katalogu głównym, aby go edytować.
Wybierz wp-config.php , a następnie kliknij Edytuj w górnym menu Menedżera plików.
Krok 5: Edytuj wp-config.php . Powinieneś teraz zobaczyć zawartość pliku wp-config.php na ekranie. Powinno to wyglądać mniej więcej tak:
Dodaj lub zmień potrzebne informacje, a następnie zapisz plik. Przejdź do „Co możesz skonfigurować za pomocą wp-config.php ?” aby dowiedzieć się więcej o różnych typach edycji, które możesz wprowadzić w pliku wp-config.php .
Ręczne tworzenie pliku wp-config.php
Nie możesz edytować pliku wp-config.php , jeśli jeszcze go nie utworzyłeś! Jeśli z jakiegoś powodu nie możesz utworzyć pliku wp-config.php podczas instalacji WordPress lub po prostu wolisz utworzyć go ręcznie, użyj szablonu wp-config-sample.php , który jest dołączony, gdy pobierasz WordPressa.
Otwórz wp-config-sample.php w edytorze kodu źródłowego. Twój wyświetlacz może wyglądać inaczej w zależności od programu używanego do edycji pliku wp-config-sample.php . Tak wygląda część kodu w atom.io:
Wprowadź następujące szczegóły bazy danych i wszelkie niestandardowe ustawienia, których możesz potrzebować:
Nazwa bazy danych dla WordPress
define( 'DB_NAME', 'database_name_here' );
Nazwa użytkownika bazy danych
define( 'DB_USER', 'username_here' );
Hasło do bazy danych
define( 'DB_PASSWORD', 'password_here' );
Nazwa hosta bazy danych
define( 'DB_HOST', 'localhost' );
Zestaw znaków bazy danych do użycia przy tworzeniu tabel bazy danych (zwykle utf8)
define( 'DB_CHARSET', 'utf8' );
Typ sortowania bazy danych (nie zmieniaj tego w razie wątpliwości)
define( 'DB_COLLATE', '' );
Uwierzytelniające unikalne klucze i sole
Zmień je na różne unikalne frazy. Możesz je wygenerować za pomocą usługi tajnego klucza WordPress.org. Można je zmienić w dowolnym momencie, aby unieważnić wszystkie istniejące pliki cookie. Pamiętaj tylko, że zmusi to wszystkich użytkowników do ponownego zalogowania się.
define( 'AUTH_KEY', 'put your unique phrase here' ); define( 'SECURE_AUTH_KEY', 'put your unique phrase here' ); define( 'LOGGED_IN_KEY', 'put your unique phrase here' ); define( 'NONCE_KEY', 'put your unique phrase here' ); define( 'AUTH_SALT', 'put your unique phrase here' ); define( 'SECURE_AUTH_SALT', 'put your unique phrase here' ); define( 'LOGGED_IN_SALT', 'put your unique phrase here' ); define( 'NONCE_SALT', 'put your unique phrase here' );
Zdefiniuj niestandardowy prefiks tabeli bazy danych WordPress
Domyślny prefiks tabeli bazy danych dla WordPress to „wp_”, ale jeśli chcesz, możesz zdefiniować niestandardowy prefiks. Ponadto, jeśli masz wiele instalacji WordPressa w jednej bazie danych, możesz nadać każdej z nich unikalny prefiks. Używaj tylko cyfr, liter i podkreśleń.
$table_prefix = 'wp_';
Zdefiniuj tryb debugowania WordPress
Domyślnie tryb debugowania WordPress w wp-config.php powinien być ustawiony na „false”, chyba że jesteś w trybie programistycznym i aktywnie próbujesz debugować problemy w swojej witrynie.
define( 'WP_DEBUG', false );
Zmień to stwierdzenie na „prawda”, aby umożliwić wyświetlanie komunikatów o błędach i ostrzeżeniach podczas projektowania.
Dodaj wartości niestandardowe
Istnieją dwa zakomentowane wiersze kodu po wierszu definiującym tryb debugowania, pomiędzy którymi można dodać dowolne wartości niestandardowe, które chcesz dodać do pliku wp-config.php .
/* Add any custom values between this line and the "stop editing" line. */ YOUR CUSTOM VALUES GO HERE /* That's all, stop editing! Happy publishing. */
Aby uzyskać informacje na temat wartości niestandardowych, których można użyć, przewiń w dół do sekcji „Co możesz skonfigurować za pomocą wp-config.php?”. '
Określ bezwzględną ścieżkę do katalogu WordPress
Pod wartościami niestandardowymi, po znaku „/*To wszystko, przestań edytować! Miłego publikowania.*/”, zobaczysz kilka innych fragmentów kodu. Pierwsza określa bezwzględną ścieżkę do katalogu WordPress. Możesz zostawić to bez zmian, chyba że ustawiłeś WordPressa w podkatalogu — w takim przypadku zamienisz „/” na „ /twój-podkatalog/ ”.
if ( ! defined( 'ABSPATH' ) ) { define( 'ABSPATH', __DIR__ . '/' ); }
Skonfiguruj zmienne WordPress i dołączone pliki
Ta ostatnia sekcja w pliku wp-config-sample.php deklaruje bezwzględną ścieżkę do wp-settings.php , która konfiguruje zmienne WordPress i dołączone pliki.
require_once ABSPATH . 'wp-settings.php';
Po zakończeniu edycji przykładowego pliku konfiguracyjnego zapisz go jako „wp-config.php” i umieść w katalogu głównym witryny za pomocą protokołu SFTP lub cPanel.
UWAGA: Istnieje określona kolejność zawartości pliku wp-config-sample.php i kolejność jest ważna. Zmiana kolejności informacji w pliku konfiguracyjnym może spowodować błędy w Twojej witrynie.
Co możesz skonfigurować w wp-config.php ?
Istnieje wiele rzeczy, które można skonfigurować za pomocą wp-config.php poza podstawowymi ustawieniami zawartymi w pliku wp-config-sample.php . Możesz włączyć funkcjonalność wielu witryn, ustawić domeny plików cookie, zwiększyć dozwoloną pamięć, zarządzać różnymi ustawieniami związanymi z bezpieczeństwem, określić częstotliwość, z jaką WordPress wykonuje określone podstawowe operacje i zmienić inne ustawienia optymalizacji plików. Możesz nawet wprowadzać zmiany w swojej bazie danych i uprawnieniach do plików.
Czego nie możesz skonfigurować w wp-config.php?
Chociaż lista ustawień, którymi możesz zarządzać w wp-config.php , jest długa, jest kilka rzeczy, których nie możesz zrobić.
Plik wp-config.php to mniej więcej lista stałych, które określają pewne ustawienia w rdzeniu WordPressa. Nie możesz go używać do dokonywania jakichkolwiek modyfikacji funkcjonalnych wtyczek lub motywów — do tego celu użyjesz pliku functions.php .
Istnieją również pewne zakodowane aspekty WordPressa, których nie można zmienić, nawet w wp-config.php — na przykład lokalizacja folderu motywów.
Jak chronić wp-config.php przed lukami w zabezpieczeniach?
Twój plik wp-config.php zawiera wiele poufnych informacji o Twojej witrynie — informacje, które chcesz trzymać z dala od hakerów. Oto kilka wskazówek, które pomogą zabezpieczyć plik wp-config.php :
1. Zainstaluj wtyczkę bezpieczeństwa
Wtyczka bezpieczeństwa automatycznie doda ustawienia do Twojej witryny, które pomogą chronić wszystkie aspekty — w tym wp-config.php — przed próbami włamania.
Narzędzie zabezpieczające WordPress Jetpack to niedroga opcja, która może pomóc chronić Twoją witrynę przed złośliwymi atakami. Bezpieczeństwo Jetpack obejmuje:
- Ochrona przed atakami brute force, która zatrzymuje ataki na ich drodze
- Monitorowanie przestojów w celu powiadomienia o wystąpieniu problemu
- Dziennik aktywności, dzięki któremu wiesz, czy i kiedy wystąpiły podejrzane działania
- Bezpieczne uwierzytelnianie, aby zapobiec nieautoryzowanemu dostępowi
- Skanowanie złośliwego oprogramowania, które ostrzega, jeśli Twoja witryna została zhakowana
- Ochrona przed spamem Twoich stron, postów i formularzy kontaktowych
Jetpack Security monitoruje również Twoją witrynę pod kątem wszelkich zmian w podstawowych plikach WordPress, przestarzałych lub niezabezpieczonych wtyczkach i innych luk w zabezpieczeniach, dzięki czemu możesz je złapać, zanim haker je znajdzie i wykorzysta.
2. Odmów dostępu do wp-config.php przez . plik htaccess
Możesz użyć . plik htaccess , aby pomóc chronić wp-config.php . Znajdziesz ten plik w swoim folderze głównym.
Krok 1: Pobierz . htaccess
Korzystając z SFTP lub cPanel, przejdź do folderu głównego swojej witryny. Kliknij prawym przyciskiem myszy .htaccess i wybierz pobierz , aby pobrać plik na komputer lokalny.
Krok 2: Dodaj kod, aby zablokować dostęp do wp-config.php
W kodzie źródłowym lub edytorze zwykłego tekstu otwórz .htaccess i dodaj następujący kod:
<files wp-config.php> order allow,deny deny from all </files>
Zapisz swój plik. Upewnij się, że Twój program nie zawiera rozszerzenia pliku. Jeśli używasz Notatnika lub edycji tekstu, może dodać rozszerzenie pliku .txt, którego nie chcesz. Plik powinien mieć po prostu nazwę '. htdostęp .'
Krok 3: Prześlij edytowany plik .htaccess z powrotem do folderu głównego
Prześlij edytowane . htaccess z powrotem do folderu głównego witryny. Zostaniesz zapytany, czy chcesz nadpisać istniejący plik. Kliknij OK .
Teraz twój . Plik htaccess powinien blokować zewnętrzny dostęp do pliku wp-config.php .
3. Ukryj wp-config.php poza katalogiem głównym
Ponieważ każdy haker zna domyślną lokalizację wp-config.php w witrynie WordPress, zmiana lokalizacji na folder z ograniczonym dostępem poza katalogiem głównym może uniemożliwić hakerowi.
Ten proces wymaga trochę dodatkowej konfiguracji — nie można po prostu przeciągnąć i upuścić wp-config.php poza folderem głównym. Warto jednak podjąć wysiłek, aby dodać dodatkową warstwę ochrony do swojej witryny.
W zaledwie kilku krokach możesz zabezpieczyć plik wp-config.php poza folderem głównym.
Krok 1: Pobierz aktualny plik wp-config.php
Twój folder główny to miejsce, w którym znajdują się wszystkie twoje pliki WordPress, w tym plik wp-config.php . Może mieć nazwę „public_html” lub „www” . Jeśli nie masz pewności, gdzie znajduje się Twój folder główny lub katalog WordPress, skontaktuj się z firmą hostingową.
Po znalezieniu folderu głównego i katalogu WordPress pobierz plik wp-config.php na komputer lokalny za pośrednictwem SFTP lub cPanel.
Krok 2: Utwórz nowy katalog poza folderem głównym
Przejdź poza katalog główny do następnego poziomu folderu plików. Powinieneś zobaczyć nazwę swojego folderu głównego, a także kilka innych folderów. W tym katalogu kliknij prawym przyciskiem myszy i wybierz utwórz katalog.
Nadaj swojemu katalogowi nazwę, którą łatwo zapamiętasz jako repozytorium pliku wp-config.php . Jeśli chcesz, możesz nawet utworzyć wiele zagnieżdżonych folderów — wystarczy zapamiętać nazwy wszystkich z nich w kroku 4.
Krok 3: Prześlij wp-config.php do nowego folderu
Prześlij pobrany wcześniej plik wp-config.php do nowego folderu przez SFTP lub cPanel.
Sprawdź uprawnienia nowego folderu i pliku wp-config.php i upewnij się, że są ustawione na 600.
Krok 4: Wskaż WordPressowi nowy plik wp-config.php
Powinieneś mieć plik wp-config.php w nowym "tajnym" katalogu, a także oryginalny plik wp-config.php , który nadal znajduje się w twoim katalogu głównym. Aby WordPress mógł znaleźć i użyć właściwego pliku, musisz usunąć wszystkie informacje z pliku wp-config.php w katalogu głównym i zastąpić go następującym fragmentem kodu:
<?php include('/home3/usr/secureconfig/wp-config.php'); ?>
Uwaga: ścieżka pliku będzie wyglądać inaczej, ponieważ będziesz używać nazw katalogów na swoim serwerze.
W cPanel możesz otworzyć plik wp-config.php katalogu głównego i edytować go bezpośrednio lub możesz edytować kopię pobraną wcześniej na komputer lokalny za pomocą edytora kodu źródłowego. W tym przykładzie zmodyfikowaliśmy kopię pobraną wcześniej za pomocą Atom.io.
Zapisz plik wp-config.php i prześlij go z powrotem do katalogu głównego.
Zostaniesz zapytany, czy chcesz nadpisać plik. Kliknij OK , aby nadpisać plik.
Teraz WordPress powinien odwoływać się do nowego pliku wp-config.php w bezpiecznej lokalizacji poza folderem głównym.
4. Zmień nazwę pliku wp-config.php
Zmiana nazwy pliku wp-config.php może również pomóc w ukryciu go przed hakerami. Jeśli to zrobisz, będziesz musiał również umieścić ten plik poza folderem głównym. Jeśli wykonałeś już kroki opisane w Ukryj wp-config.php poza katalogiem głównym, możesz zmienić nazwę pliku wp-config.php , wykonując następujące dodatkowe kroki:
Krok 1: W bezpiecznym katalogu poza folderem głównym zmień nazwę pliku wp-config.php
Przejdź do folderu wp-config.php hostowanego poza katalogiem głównym i zmień nazwę na coś unikalnego, na przykład „secret-setup-file.php” lub „cheese-sandwich.php” — to naprawdę nie ma znaczenia.
Krok 2: Edytuj kod w wp-config.php w katalogu głównym, aby odzwierciedlić zmianę nazwy
Teraz, gdy zmieniłeś nazwę, musisz upewnić się, że kopia katalogu głównego wp-config.php wskazuje właściwą nazwę pliku.
Pobierz kopię folderu głównego wp-config.php na komputer lokalny i edytuj ją za pomocą wybranego edytora kodu źródłowego. Zmień nazwę pliku wp-config.php na nową nazwę pliku, a następnie zapisz go.
<?php include('/home3/usr/secureconfig/cheese-sandwich.php'); ?>
Krok 3: Prześlij wp-config.php z powrotem do katalogu głównego
Zostaniesz zapytany, czy chcesz nadpisać istniejący plik. Kliknij OK.
Teraz WordPress powinien wskazywać plik konfiguracyjny o zmienionej nazwie.
edycje wp-config.php dla lepszej wydajności WordPress
Możesz użyć pliku wp-config.php , aby zoptymalizować ustawienia WordPress i poprawić wydajność swojej witryny. Poniżej znajduje się siedem zmian, które możesz wprowadzić w wp-config.php , aby zmniejszyć rozmiar i obciążenie bazy danych, skrócić czas ładowania witryny i zaoszczędzić miejsce na serwerze.
1. Wyczyść edycje obrazu
Za każdym razem, gdy edytujesz obraz w WordPress, tworzony jest nowy zestaw miniatur i innych rozmiarów obrazów. Podczas przywracania oryginalnego obrazu te zmiany nie są usuwane. Może to prowadzić do zagracania folderów multimedialnych. Jeśli chcesz się upewnić, że na serwerze istnieje tylko jeden zestaw zmian obrazu i że po przywróceniu oryginału zmiany te zostaną usunięte, możesz użyć następującego kodu:
define( 'IMAGE_EDIT_OVERWRITE', true );
2. Napraw swoją bazę danych
Jeśli Twoja witryna działa wolno, występują błędy i podejrzewasz, że Twoja baza danych jest uszkodzona i wymaga naprawy, możesz włączyć automatyczną naprawę bazy danych, używając WP_ALLOW_REPAIR i ustawiając wartość „true”.
define( 'WP_ALLOW_REPAIR', true );
Pamiętaj, aby wyłączyć tę funkcję po rozwiązaniu problemu z bazą danych. Ten skrypt można również znaleźć w pliku repair.php: {$twoja_witryna}/wp-admin/maint/repair.php .
3. Zarządzaj ustawieniami wersji post
Podczas edytowania posta WordPress domyślnie automatycznie zapisuje Twoje poprawki co 60 sekund. Jeśli chcesz mieć dłuższe opóźnienia między zapisami lub częstsze interwały zapisywania, możesz zmodyfikować interwał automatycznego zapisywania.
define( 'AUTOSAVE_INTERVAL', 60 ); // Seconds
WordPress nie ma limitu liczby zapisywanych wersji postów, więc jeśli chcesz zmniejszyć obciążenie bazy danych, jakie mają wersje postów, możesz określić maksymalną liczbę lub całkowicie wyłączyć zapisywanie wersji.
Określ maksymalną liczbę wersji postu
define( 'WP_POST_REVISIONS', 3 );
Wyłącz wersje publikowania
define( 'WP_POST_REVISIONS', false );
4. Zarządzaj ustawieniami kosza
Domyślnie WordPress trwale usuwa elementy z kosza po 30 dniach. Jeśli chcesz zmienić tę częstotliwość, możesz użyć następującego kodu i ustawić liczbę na żądaną częstotliwość.
define( 'EMPTY_TRASH_DAYS', 30 ); // 30 days
Możesz również wyłączyć opróżnianie kosza, ustawiając liczbę dni na zero.
define( 'EMPTY_TRASH_DAYS', 0 ); // Zero days
Uwaga: jeśli wyłączysz opróżnianie kosza, WordPress nie poprosi o potwierdzenie, gdy ktoś kliknie Usuń na stałe . Używaj tego ustawienia ostrożnie!
5. Dostosuj ustawienia crona
WordPress używa WP-Cron do planowania zadań wrażliwych na czas, takich jak sprawdzanie aktualizacji i publikowanie zaplanowanych postów.
Jeśli zaplanowane posty nie są publikowane lub inne zadania crona nie są ukończone w Twojej witrynie, możesz spróbować użyć alternatywnego crona. Gdy ALTERNATE_WP_CRON jest ustawione na „prawda”, przeglądarki odwiedzających są przekierowywane do nowego połączenia, podczas gdy cron kontynuuje działanie w przerwanym połączeniu.
define( 'ALTERNATE_WP_CRON', true );
Uwaga: Ponieważ ta metoda zależy od innej usługi WordPress, istnieje pewne ryzyko.
Możesz także zmienić interwały, w których procesy crona mogą być uruchamiane lub całkowicie wyłączyć crona.
Wyłącz cron
define( 'DISABLE_WP_CRON', true );
Limit czasu crona
define( 'WP_CRON_LOCK_TIMEOUT', 60 );
6. Zwiększ pamięć przydzieloną do PHP
Jeśli masz wtyczki lub motywy, które wykorzystują dużo zasobów PHP, możesz zostać skonfrontowany z komunikatem „Wyczerpano dozwolony rozmiar pamięci xxxxxx bajtów”. Niektóre motywy i wtyczki mogą nawet określać minimalny limit pamięci PHP, aby móc korzystać z ich oprogramowania lub określonych funkcji ich oprogramowania (takich jak importowanie danych demonstracyjnych).
WordPress domyślnie spróbuje zwiększyć limity pamięci PHP do 40 MB dla pojedynczych witryn i 60 MB dla instalacji wielostanowiskowych, ale może być konieczne ustawienie wyższego limitu. Czasami limit pamięci PHP jest ustalany przez hosta i podczas gdy niektóre hosty umożliwiają edycję limitu pamięci PHP, inne nie.
Jeśli Twój host umożliwia zwiększenie limitu pamięci PHP, możesz dodać następujący kod do pliku wp-config.php i zastąpić „96M” ilością pamięci, której potrzebujesz (pamiętaj, aby użyć M, a nie MB po liczbie) :
define( 'WP_MEMORY_LIMIT', '96M' );
To ustawienie zwiększa pamięć PHP tylko dla WordPressa, a nie dla innych aplikacji.
Zadania w obszarze administracyjnym WordPressa wymagają znacznie więcej pamięci niż aktywność w interfejsie witryny. Możesz zwiększyć pamięć swojego obszaru administracyjnego, definiując WP_MAX_MEMORY_LIMIT.
define( 'WP_MAX_MEMORY_LIMIT', '256M' );
Uwaga: umieść ten kod przed włączeniem wp-settings.php w pliku wp-config.php .
7. Włącz/wyłącz pamięć podręczną
Niektóre wtyczki do buforowania używają pliku advanced-cache.php i aktywują WP_CACHE w twoim pliku wp-config.php . Czasami może być konieczne dodanie go ręcznie, dodając następujące elementy:
define( 'WP_CACHE', true );
Możesz też chcieć wyłączyć buforowanie. W takim przypadku zamień „prawda” w powyższym stwierdzeniu na „fałsz”.
define( 'WP_CACHE', false );
edycje wp-config.php dla lepszego bezpieczeństwa WordPress
Możesz użyć wp-config.php do zarządzania bezpieczeństwem swojej witryny WordPress, blokując zewnętrzne żądania adresów URL, wymagając protokołu SSL dla administratorów, przenosząc główne lokalizacje plików i folderów WordPress, zastępując domyślne uprawnienia do plików bardziej restrykcyjnymi ustawieniami uprawnień i nie tylko. Jeśli chcesz lepiej zabezpieczyć swoją witrynę za pomocą wp-config.php , zapoznaj się z siedmioma wskazówkami poniżej:
1. Zdefiniuj niestandardowy prefiks_tabeli
Domyślnym prefiksem dla tabel bazy danych WordPress jest „wp_”, ale możesz użyć dowolnego prefiksu z następującym kodem:
$table_prefix = 'customprefix_';
Zastąp „customprefix_” wybranym tekstem, ale używaj tylko cyfr, liter i podkreśleń — bez znaków specjalnych.
Uwaga: Jeśli zmieniasz prefiks tabeli w istniejącej instalacji WordPressa, musisz również zaktualizować prefiksy tabeli w bazie danych, przeprowadzić wyszukiwanie i zamienić wszelkie odniesienia do poprzedniego prefiksu tabeli i zastąpić je nowy.
2. Wymagaj SSL dla administratora i logowania
Jeśli chcesz zachować bezpieczeństwo danych logowania administratora, możesz użyć „FORCE_SSL_ADMIN”, aby hasła i pliki cookie były zawsze przesyłane przez SSL. Ustaw „FORCE_SSL_ADMIN” na „prawda” za pomocą następującego kodu w wp-config.php :
define( 'FORCE_SSL_ADMIN', true );
Uwaga: aby Twoja witryna działała poprawnie z FORCE_SSL_ADMIN ustawionym na true, musisz również skonfigurować SSL na serwerze.
3. Blokuj żądania zewnętrznych adresów URL
Aby zwiększyć bezpieczeństwo, możesz uniemożliwić zewnętrzne żądania URL z serwera, definiując „WP_HTTP_BLOCK_EXTERNAL” jako „prawda”. With this constant enabled, only your website and localhost will be able to make requests.
define( 'WP_HTTP_BLOCK_EXTERNAL', true );
If you want to make an exception for specific hosts, you can define WP_ACCESSIBLE_HOSTS with a list of comma separated host names. If you want to allow all subdomains of a host, prefix the domain name with '*.' (eg '*.wordpress.org'). and this will only allow localhost and your blog to make requests.
For example, if you want to make an exception for Google Fonts and all subdomains of WordPress.org, you would add the following to wp-config.php :
define( 'WP_ACCESSIBLE_HOSTS', 'fonts.googleapis.com,*.wordpress.org' );
4. Disable the plugin and theme file editor
By default, WordPress site admins have access to the plugin and theme file editor feature in the WordPress dashboard. This can be a security risk. An admin that doesn't have a good understanding of how to (and how NOT to) edit these files could attempt to make edits that break your site. A disgruntled admin may intentionally sabotage these files, or a hacker may get access to the admin interface and attempt to edit core files through the plugin and theme file editor.
To disable the plugin and theme file editor define 'DISALLOW_FILE_EDIT' as 'true.'
define( 'DISALLOW_FILE_EDIT', true );
Note : Some plugins may check user capabilities with “current_user_can('edit_plugins')”. If you have plugins installed that use this function, they may not work correctly when 'DISALLOW_FILE_EDIT' is set to 'true'. If you define 'DISALLOW_FILE_EDIT' as 'true' and you experience issues with a plugin afterward, then this function in the plugin code may be the culprit.
5. Disable plugin and theme updates and installations
If you want to block users from being able to update or install plugins and themes from the WordPress admin area, you can set 'DISALLOW_FILE_MODS' to 'true.' This will also disable the plugin and theme file editor.
define( 'DISALLOW_FILE_MODS', true );
6. Move core WordPress folders
Keeping core WordPress folders in custom locations can help secure your site against hackers. Especially if hackers are using automated scripts to find the default names of certain files and folders, changing their location can protect your site against these types of attacks.
Move the wp-content folder
Your wp-content directory contains your themes, plugins, and uploads. You can move this outside of the WordPress directory by setting WP_CONTENT_DIR to the full local path of the directory or to the full URL.
File path
define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/blog/wp-content' );
URL
define( 'WP_CONTENT_URL', 'http://example/blog/wp-content' );
Note: Do not include the trailing '/' in the file path.
Move the plugins folder
You can protect your plugins by moving the folder location and using the following options to define the path to your new folder:
Set 'WP_PLUGIN_DIR' to the full local directory path.
define( 'WP_PLUGIN_DIR', dirname(__FILE__) . '/blog/wp-content/secureplugins/plugins' );
Set 'WP_PLUGIN_URL' to the full directory URL.
define( 'WP_PLUGIN_URL', 'http://example/blog/wp-content/secureplugins/plugins' );
If you encounter compatibility issues with plugins, you can set 'PLUGINDIR' to the full local directory path .
define( 'PLUGINDIR', dirname(__FILE__) . '/blog/wp-content/secureplugins/plugins' );
Note: Do not include the trailing '/' in the file paths.
Move the uploads folder
Moving your uploads folder is a great way to help protect against scripts that may attempt to upload content directly to the default WordPress uploads folder file path. Use the 'UPLOADS' constant to define your path to the uploads folder.
define( 'UPLOADS', 'blog/wp-content/secureuploads/uploads' );
Note: use a relative path to your uploads folder without the leading '/.'
7. Zastąp domyślne uprawnienia do plików
W niektórych przypadkach może być konieczne dostosowanie uprawnień do plików, aby zastąpić domyślne uprawnienia do plików ustawione przez WordPress lub hosta. Chociaż możesz zmieniać uprawnienia do plików indywidualnie za pomocą SFTP lub cPanel, możesz również masowo je zastąpić, używając wp-config.php . Możesz chcieć użyć bardziej restrykcyjnych uprawnień dla niektórych plików i folderów i mniej restrykcyjnych uprawnień dla innych, w zależności od twoich celów.
Aby nadpisać uprawnienia do pliku, użyjesz stałej 'FS_CHMOD_FILE'. Aby nadpisać uprawnienia do katalogu, użyjesz „FS_CHMOD_DIR”.
Plik
define( 'FS_CHMOD_FILE', ( 0644 & ~ umask() ) );
Informator
define( 'FS_CHMOD_DIR', ( 0755 & ~ umask() ) );
Przykład podania setgid (uprawnienia grupy):
define( 'FS_CHMOD_DIR', ( 02755 & ~umask() ) );
Uwaga: ' 0755′ i ' 02755 ' są wartościami ósemkowymi i muszą być poprzedzone '0'.
Zaawansowane funkcje wp-config.php dla programistów
Poza bezpieczeństwem i optymalizacją witryny programiści mogą używać wp-config.php do dodawania innych niestandardowych ustawień do środowisk WordPress. Poniżej znajduje się tylko kilka funkcji, które należy rozważyć w wp-config.php :
1. Zdefiniuj adres URL WordPress
Stała WP_SITEURL pozwala zdefiniować adres, pod którym znajdują się pliki rdzenia WordPressa. Powinieneś dołączyć http:// lub https://, domenę główną i podfoldery, w których znajdują się twoje podstawowe pliki WordPress. Nie dodawaj jednak końcowego „/” na końcu adresu URL.
define( 'WP_SITEURL', 'http://yoursite.com/wordpress' );
Po ustawieniu adresu WP_SITEURL w wp-config.php , wartość „siteurl” w bazie danych zostanie zastąpiona. Ponieważ WP_SITEURL ma pierwszeństwo tylko nad wartością „siteurl” w bazie danych, a nie nadpisuje ją, jeśli usuniesz kod WP_SITEURL w pliku wp-config.php , zostanie użyta oryginalna wartość bazy danych dla „siteurl”.
Możesz także dynamicznie ustawić adres URL witryny na podstawie hosta serwera lub nazwy serwera.
Host serwera:
define( 'WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpress' );
Nazwa serwera:
define( 'WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/path/to/wordpress' );
Uwaga: bezpieczniejsze może być użycie SERVER_NAME niż HTTP_HOST. Korzystanie z HTTP_HOST może pozwolić na luki w dołączaniu plików. Ponadto, jeśli Twój serwer używa Apache i jest skonfigurowany jako UseCanonicalName „on” , NAZWA_SERWERA nie jest ustawiana dynamicznie i zamiast tego jest ustawiana przez konfigurację serwera. W takim przypadku będziesz chciał użyć SERVER_NAME zamiast HTTP_HOST.
2. Zdefiniuj adres URL domu
Twój główny adres URL to adres URL, którego używasz, aby przejść na pierwszą stronę swojej witryny. Zwykle twoim domowym adresem URL będzie domena główna (np. https://mysite.com), nawet jeśli zainstalujesz WordPressa w podkatalogu.
Jeśli wolisz dołączyć swój podkatalog jako część domowego adresu URL, możesz użyć WP_HOME do zastąpienia wartości tabeli wp_options dla domu. Nie zmieni tego w bazie danych, więc jeśli usuniesz tę linię z wp-config.php , adres URL Twojej witryny powróci do wartości w tabeli wp_options .
define( 'WP_HOME', 'https://mysite.com/wordpress' );
Musisz także dodać następujący kod do index.php w katalogu głównym Twojej witryny:
define( 'WP_HOME', 'https://mysite.com' );
Podobnie jak w przypadku „SERVER_NAME” i „SERVER_HOST”, możesz również dynamicznie ustawić „WP_HOME”. Użyj $_SERVER['HTTP_HOST'] między http:// lub https:// a ścieżką pliku do WordPress (bez domeny głównej) w następujący sposób:
define( 'WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpress' );
3. Ustaw domenę plików cookie
Jeśli masz niestandardową konfigurację domeny, możesz określić domenę plików cookie za pomocą stałej „COOKIE_DOMAIN”. Przypadki użycia do tego obejmują:
Udostępnianie treści statycznej z subdomeny. Jeśli udostępniasz statyczną zawartość z subdomeny, ale chcesz ustawić domenę pliku cookie na adres URL, pod którym znajduje się Twoja dynamiczna zawartość, skorzystaj z tego:
define( 'COOKIE_DOMAIN', 'www.mysite.com' );
Uwaga: nie musisz umieszczać http:// ani https:// przed nazwą domeny.
Prowadzenie sieci wielostanowiskowej. Jeśli korzystasz z sieci wielostanowiskowej w podfolderach w domenie i masz problemy z plikami cookie (np. pojawia się błąd „Pliki cookie są blokowane lub nieobsługiwane przez Twoją przeglądarkę. Aby korzystać z WordPressa, musisz włączyć obsługę plików cookie”), możesz się upewnić, że że pliki cookie należą do domen, z których są żądane, a nie pochodzą z jednej domeny, ustawiając COOKIE_DOMAIN na pustą wartość.
define( 'COOKIE_DOMAIN', '' );
4. Włącz zdolności wielostanowiskowe
WordPress nie ma automatycznie włączanych funkcji wielostanowiskowych. Większość instalacji WordPress nie potrzebuje tej funkcji. Ale jeśli go potrzebujesz, możesz go łatwo włączyć, używając stałej „WP_ALLOW_MULTISITE”.
define( 'WP_ALLOW_MULTISITE', true );
5. Przekieruj nieistniejące subdomeny lub foldery
Chociaż możesz pozwolić odwiedzającym trafić na domyślną stronę 404, gdy treść nie zostanie znaleziona, lepszym rozwiązaniem może być skierowanie ich na niestandardową stronę. Możesz to łatwo zrobić za pomocą wp-config.php , używając stałej „NOBLOGREDIRECT”.
define( 'NOBLOGREDIRECT', 'https://mysite.com/custompage' );
6. Nie aktualizuj tabel globalnych
Jeśli masz witrynę z dużymi globalnymi tabelami lub udostępniasz tabele użytkowników między wieloma instalacjami WordPress (forum i witryny eCommerce mogą należeć do tych kategorii), możesz uniemożliwić WordPressowi wykonywanie zapytań intensywnie korzystających z zasobów w tabelach globalnych podczas procesu aktualizacji, ustawiając „DO_NOT_UPGRADE_GLOBAL_TABLES ' do 'prawdy'.
define( 'DO_NOT_UPGRADE_GLOBAL_TABLES', true );
7. Zarządzaj ustawieniami automatycznej aktualizacji
Możesz wyłączyć automatyczne aktualizacje motywów, wtyczek i rdzenia WordPress — zwłaszcza jeśli jesteś w trakcie testowania witryny programistycznej lub rozwiązywania problemów. Możesz także wybrać, czy podstawowe aktualizacje WordPress są automatycznie aktualizowane tylko w przypadku drobnych aktualizacji, dla wszystkich nowych wersji, czy w ogóle.
Wyłącz automatyczne aktualizacje
Aby całkowicie wyłączyć wszystkie automatyczne aktualizacje, ustaw „AUTOMATIC_UPDATER_DISABLED” na „prawda”.
define( 'AUTOMATIC_UPDATER_DISABLED', true );
Wyłącz podstawowe aktualizacje WordPress
Możesz ustawić stałą „WP_AUTO_UPDATE_CORE”, aby zezwolić na automatyczne aktualizacje wszystkich wydań wersji, tylko drobne aktualizacje lub wyłączyć wszystkie automatyczne aktualizacje rdzenia.
Wyłącz wszystkie podstawowe aktualizacje
define( 'WP_AUTO_UPDATE_CORE', false );
Włącz wszystkie podstawowe aktualizacje
define( 'WP_AUTO_UPDATE_CORE', true );
Włącz podstawowe aktualizacje dla mniejszych wersji
define( 'WP_AUTO_UPDATE_CORE', 'minor' );
8. Zdefiniuj stałe aktualizacji WordPress
Jeśli masz problemy z aktualizacją WordPressa, może być konieczne zdefiniowanie dodatkowych stałych aktualizacji WordPressa, aby dotrzeć do źródła problemu. Spróbuj użyć jak najmniejszej liczby tych stałych, aby rozwiązać swój problem.
Dwa najczęstsze powody, dla których możesz potrzebować zdefiniować te stałe w wp-config.php to:
- Twój host używa dowiązań symbolicznych w twojej instalacji. W takim przypadku może być konieczne zdefiniowanie stałych związanych ze ścieżką, takich jak FTP_BASE, FTP_CONTENT_DIR i FTP_PLUGIN_DIR.
- Twoja instalacja PHP używa rozszerzenia FTP, które jest niezgodne z niektórymi serwerami FTP. Jest to rzadka sytuacja, ale jeśli masz do czynienia z tym, być może będziesz musiał zdefiniować FS_METHOD jako 'ftpsockets'.
Poniżej znajduje się lista poprawnych stałych i przykładowy kod aktualizacji WordPress:
FS_METODA | Wymusza to metodę systemu plików. W preferowanej kolejności powinna być ustawiona na: direct , ssh2 , ftpext lub ftpsockets . Zmień to tylko wtedy, gdy masz problemy z aktualizacją. Jeśli zmiana go nie rozwiąże problemu, należy przywrócić pierwotną wartość lub usunąć. Jeśli inne metody zawiodą, zwykle zadziała 'ftpsockets'. | define( 'FS_METHOD', 'ftpext' ); |
BAZA_FTP | Pełna ścieżka do folderu instalacyjnego WordPress (ABSPATH). | define( 'FTP_BASE', '/ścieżka/do/wordpress/' ); |
FTP_CONTENT_DIR | Pełna ścieżka do folderu wp-content . | define( 'FTP_CONTENT_DIR', '/ścieżka/do/wordpress/wp-content/' ); |
FTP_PLUGIN_DIR | Pełna ścieżka do folderu wtyczek. | define( 'FTP_PLUGIN_DIR ', '/ścieżka/do/wordpress/wp-content/plugins/' ); |
FTP_PUBKEY | Pełna ścieżka do Twojego klucza publicznego SSH. | define( 'FTP_PUBKEY', '/home/nazwa_użytkownika/.ssh/id_rsa.pub' ); |
FTP_PRIKEY | Pełna ścieżka do Twojego prywatnego klucza SSH. | define( 'FTP_PRIKEY', '/home/nazwa_użytkownika/.ssh/id_rsa' ); |
UŻYTKOWNIK_FTP | Definiuje nazwę użytkownika FTP lub nazwę użytkownika SSH. Chociaż często są one takie same, mogą się różnić. Użyj nazwy użytkownika FTP, jeśli aktualizujesz przez FTP, i nazwy użytkownika SSH, jeśli aktualizujesz przez SSH. | define( 'UŻYTKOWNIK_FTP', 'nazwa użytkownika' ); |
FTP_PASS | Hasło dla nazwy użytkownika zdefiniowanej za pomocą FTP_USER . Nie musisz uwzględniać tego, jeśli używasz uwierzytelniania klucza publicznego SSH. | define( 'FTP_PASS', 'hasło' ); |
FTP_HOST | Nazwa hosta Twojego serwera SSH/FTP. Niektóre konfiguracje powinny używać „localhost” jako wartości „FTP_HOST”, aby uniknąć błędów 503 podczas aktualizacji wtyczek lub rdzenia WordPress. | define( 'FTP_HOST', 'ftp.mysite.com' ); |
FTP_SSL | To ustawienie dotyczy konfiguracji „Bezpiecznego FTP”, a nie SSH SFTP. Ustaw to na „true” dla połączenia SSL tylko wtedy, gdy jest obsługiwane przez bazowy transport. Może to nie być dostępne na wszystkich serwerach. | SFTP: zdefiniuj( 'FTP_SSL', prawda ); FTP: zdefiniuj( 'FTP_SSL', fałsz ); |
9. Twórz niestandardowe tabele użytkowników i usermeta
Stałe „CUSTOM_USER_TABLE” i „CUSTOM_USER_META_TABLE” służą do przypisywania niestandardowych tabel do przechowywania danych użytkownika. Te ustawienia najlepiej zaimplementować podczas początkowej konfiguracji WordPressa.
define( 'CUSTOM_USER_TABLE', $table_prefix.'my_users' ); define( 'CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta' );
Uwaga : jeśli prowadzisz wielostanowiskową instalację WordPressa, dla każdej instancji WordPressa tworzona jest tabela usermeta i odpowiednie uprawnienia, nawet jeśli ręcznie zdefiniujesz 'CUSTOM_USER_META_TABLE'. Uprawnienia są dodawane tylko dla pierwszego użytkownika, więc musisz zarządzać uprawnieniami użytkowników dla każdej witryny za pomocą niestandardowej funkcji lub wtyczki, w przeciwnym razie wystąpią problemy z logowaniem.
Zapewnienie dostępu administracyjnego za pomocą niestandardowych tabel użytkowników i metadanych użytkowników podczas konfiguracji wielostanowiskowej:
- Po utworzeniu pierwszej witryny i dodaniu niestandardowych tabel użytkowników i usermeta skopiuj plik wp-config.php do następnej instancji i zmień zmienną $table_prefix. Jeśli pierwsza witryna używa 'my_usermeta', druga strona powinna używać czegoś innego (np. 'site2_usermeta').
- W następnej instancji użyj innego adresu e-mail niż przy pierwotnej instalacji.
- Po zakończeniu konfiguracji zaloguj się przy użyciu automatycznie wygenerowanego konta administratora i hasła.
- Promuj konto, którego chcesz używać jako administratora, do poziomu administratora, a następnie wyloguj się z administratora WordPress.
- Zaloguj się ponownie przy użyciu nowego konta administratora i usuń automatycznie wygenerowane konto.
10. Zapisz zapytania do analizy
Jeśli wykonujesz i analizujesz zapytania do bazy danych i musisz je zapisać do późniejszego zbadania, możesz użyć stałej 'SAVEQUERIES' w wp-config.php . Zapytania są zapisywane w tablicy, którą można wyświetlić za pomocą kodu w pliku footer.php . Funkcja zapisze Twoje zapytania, nazwę ich funkcji oraz czas potrzebny na wykonanie zapytań.
Ta operacja może spowolnić działanie witryny, dlatego należy wyłączyć tę funkcję, chyba że aktywnie debugujesz.
Dodaj następujące elementy do wp-config.php :
define( 'SAVEQUERIES', true );
W footer.php (w folderze motywu) dodaj ten kod:
<?php
if ( current_user_can( 'administrator' ) ) {
global $wpdb;
echo "<pre>";
print_r( $wpdb->queries );
echo "</pre>";
}
?>
11. Skonfiguruj debugowanie i rejestrowanie błędów
Pamiętasz biały ekran śmierci? Cóż, po wydaniu WordPress 5.2 zamiast przerażającego pustego, białego ekranu pojawi się komunikat o błędzie z napisem „ Witryna ma problemy techniczne. Aby uzyskać instrukcje, sprawdź skrzynkę odbiorczą administratora witryny”. gdy wystąpi błąd krytyczny.
Oczywiście, jeśli wystąpi błąd krytyczny, zechcesz włączyć debugowanie i rejestrowanie błędów, aby móc rozwiązać problem. Aby to zrobić, użyj stałej 'WP_DEBUG' i ustaw ją na 'true' (wartość domyślna to 'false').
define( 'WP_DEBUG', true );
Ustawienie „WP_DEBUG” na „true” pozwoli na drukowanie błędów bazy danych i podniesie poziomy raportowania błędów, dzięki czemu zobaczysz ostrzeżenia, gdy używane są przestarzałe pliki lub funkcje.
Zanim jednak będzie można wydrukować te błędy, musisz wyłączyć tryb odzyskiwania, ustawiając „WP_DISABLE_FATAL_ERROR_HANDLER” na „prawda” i włączyć „WP_DEBUG_DISPLAY”.
define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true ); // 5.2 and later define( 'WP_DEBUG_DISPLAY', true );
Możesz zrezygnować z rejestrowania błędów i zamiast tego po prostu wydrukować je na ekranie, ale powinieneś włączyć te ustawienia w witrynie deweloperskiej lub testowej, aby nie drukować błędów widocznych publicznie w Twojej aktywnej witrynie. Jeśli twoje ustawienia w pliku php.ini są już ustawione na rejestrowanie błędów, zamiast je wyświetlać, możesz to zastąpić następującym w wp-config.php :
@ini_set( 'log_errors', 'Off' ); @ini_set( 'display_errors', 'On' ); define( 'WP_DEBUG_LOG', false );
Jeśli php.ini nie jest ustawione na rejestrowanie błędów i chcesz włączyć rejestrowanie błędów, będziesz musiał wykonać trochę więcej pracy.
Domyślny dziennik błędów i ustawienia wyświetlania można znaleźć w pliku php.ini . W niektórych przypadkach możesz nie mieć dostępu do tego pliku lub Twoja firma hostingowa może używać pliku user.ini lub innej konwencji nazewnictwa. Jeśli nie masz dostępu do tego pliku, poproś firmę hostingową o wprowadzenie tych zmian za Ciebie.
Zalecane ustawienia błędów php.ini :
error_reporting = 4339 display_errors = Off display_startup_errors = Off log_errors = On error_log = /home/mysite.com/logs/php_error.log log_errors_max_len = 1024 ignore_repeated_errors = On ignore_repeated_source = Off html_errors = Off
Jeśli włączysz rejestrowanie błędów, pamiętaj, aby później usunąć plik, ponieważ często będzie on znajdować się w publicznie dostępnej lokalizacji, gdzie każdy może uzyskać dostęp do Twojego dziennika.
Możesz również użyć wp-config.php , aby włączyć PHP error_logging i zalogować je do określonego pliku. Upewnij się, że WP_DEBUG jest zdefiniowany jako true i umieścisz następujące powyżej dowolne required_once lub polecenia include :
@ini_set( 'log_errors', 'On' ); @ini_set( 'display_errors', 'Off' ); @ini_set( 'error_log', '/home/mysite.com/logs/php_error.log' ); /* That's all, stop editing! Happy blogging. */
Aby uzyskać więcej przykładów technik rejestrowania błędów, możesz zapoznać się z sugestiami Mike'a Little'a na liście e-mail wp-hackerów lub w Manchesterze WordPress User Group.
Podczas wdrażania ustawień debugowania i rejestrowania należy pamiętać o kilku ważnych kwestiach:
- Jeśli 'WP_DEBUG' jest ustawione na 'false', 'WP_DEBUG_DISPLAY' i 'WP_DEBUG_LOG' nie będą działać.
- Jeśli 'WP_DEBUG' jest ustawione na 'prawda', inne stałe będą aktywne tylko wtedy, gdy są również ustawione na 'prawda'. Obejmuje to dyrektywy w pliku php.ini — nie tylko instrukcje w wp-config.php . Więc jeśli php.ini ustawia ('display_errors' = 'Off'); ale zdefiniuj ('WP_DEBUG_DISPLAY', prawda); jest ustawiony w pliku wp-config.php , błędy nie będą wyświetlane, ponieważ Twoje skonfigurowane zachowanie PHP będzie miało pierwszeństwo.
- Aby upewnić się, że dyrektywy działają zgodnie z przeznaczeniem, należy jawnie zdefiniować zarówno ustawienia php.ini , jak i odpowiadające im ustawienia wp-config.php .
W przypadku publicznej, produkcyjnej instalacji WordPressa możesz rozważyć umieszczenie następujących elementów w pliku wp-config.php , nawet jeśli może to być częściowo zbędne:
@ini_set( 'log_errors', 'On' ); @ini_set( 'display_errors', 'Off' ); define( 'WP_DISABLE_FATAL_ERROR_HANDLER', false ); // 5.2 and later define( 'WP_DEBUG', false ); define( 'WP_DEBUG_LOG', false ); define( 'WP_DEBUG_DISPLAY', false );
Uwaga: Jeśli używasz domyślnego pliku dziennika debugowania w domyślnej lokalizacji /wp-content/debug.log , będziesz chciał ograniczyć dostęp do pliku tylko do protokołu SFTP. Ustaw uprawnienia do pliku dziennika na 600 i dodaj następujące elementy do . plik htaccess w katalogu głównym:
<Files debug.log> Order allow,deny Deny from all </Files>
12. Zdefiniuj typ środowiska WordPress
Jeśli konfigurujesz witryny lokalne, programistyczne lub tymczasowe, przydatne może być zdefiniowanie „WP_ENVIRONMENT_TYPE”. Gdy ta stała nie jest zdefiniowana, domyślnym typem środowiska jest production . Dozwolone wartości to: lokalna , rozwojowa , postojowa i produkcyjna .
define( 'WP_ENVIRONMENT_TYPE', 'staging' );
Uwaga: Gdy „WP_ENVIRONMENT_TYPE” jest ustawione na „development”, WP_DEBUG zostanie automatycznie ustawiony na „prawda”, jeśli nie jest jeszcze zdefiniowany w wp-config.php .
13. Debuguj skrypty
Jeśli rozwiązujesz problemy z JavaScript i CSS, możesz użyć stałej SCRIPT_DEBUG, aby zmusić WordPress do korzystania z rozwojowych wersji skryptów i arkuszy stylów. Pliki w wp-includes/js , wp-includes/css , wp-admin/js i wp-admin/css zostaną załadowane zamiast wersji zminimalizowanych. Aby wyświetlić te wersje rozwojowe, ustaw „SCRIPT_DEBUG” na „true”.
define( 'SCRIPT_DEBUG', true );
14. Wyłącz konkatenację JavaScript
W WordPress pliki JavaScript są sekwencjonowane, aby przyspieszyć ładowanie ekranów administracyjnych. Jeśli otrzymujesz błędy JavaScript w obszarze administracyjnym WordPress, możesz wyłączyć łączenie skryptów, ustawiając „CONCATENATE_SCRIPTS” na „false”.
define( 'CONCATENATE_SCRIPTS', false );
Czy jest to ostateczny przewodnik po wp-config.php ?
Chociaż ten artykuł jest dość obszerny i obejmuje wszystko, od podstaw lokalizowania, uzyskiwania dostępu i edytowania wp-config.php , w żadnym wypadku nie jest wyczerpujący. Sposób konfiguracji pliku wp-config.php będzie dostosowany do Twoich potrzeb, środowiska serwera i osobistych preferencji. Jeśli masz dodatkowe pytania dotyczące sposobów korzystania z pliku wp-config.php , możesz zapoznać się z dokumentacją pomocy WordPress.org. Poniżej zamieściliśmy również kilka odpowiedzi na najczęściej zadawane pytania.
Najczęściej zadawane pytania dotyczące wp-config.php
Co zrobić, jeśli nie mogę znaleźć swojej lokalizacji wp-config.php ?
Chociaż plik wp-config.php zwykle znajduje się w folderze głównym instalacji WordPress, może znajdować się w innym miejscu. Bardziej prawdopodobne jest to, że przejmiesz witrynę WordPress od poprzedniego programisty lub jeśli Twoja firma hostingowa automatycznie zainstaluje dla Ciebie WordPress. Jeśli masz problemy ze znalezieniem pliku wp-config.php , możesz przeprowadzić wyszukiwanie w programie SFTP lub w cPanel.
Filezilla
Jeśli korzystasz z Filezilli, aby uzyskać dostęp do swojej witryny przez SFTP, możesz kliknąć ikonę lornetki u góry, aby przeprowadzić wyszukiwanie plików. Wyszukaj „wp-config.php” w najwyższym folderze, do którego masz dostęp, na wypadek, gdyby wp-config.php znajdował się w folderze poza katalogiem głównym. Wyświetlenie wyników może zająć kilka minut, ponieważ będziesz przeszukiwać wszystkie foldery na serwerze.
cPanel
Wyszukiwanie wp-config.php w cPanel jest dość proste. W cPanel hosta kliknij Menedżer plików w sekcji Pliki .
Zostaniesz przeniesiony do swojego drzewa plików na serwerze, a w prawym górnym rogu ekranu pojawi się pole wyszukiwania. Możesz użyć selektora rozwijanego po lewej stronie, aby wybrać, czy chcesz przeszukać wszystkie pliki, czy tylko określony katalog. Ponieważ nie wiesz, gdzie jest wp-config.php , prawdopodobnie najlepiej przeszukać wszystkie katalogi.
Wpisz „wp-config.php” w polu wyszukiwania i kliknij Przejdź .
Jeśli nadal nie możesz znaleźć wp-config.php , może to oznaczać, że jego folder nie ma ustawionych odpowiednich uprawnień, abyś mógł uzyskać do niego dostęp. W takim przypadku skontaktuj się z firmą hostingową, aby uzyskać pomoc.
Co się stanie, jeśli mój plik wp-config.php nie jest zapisywalny?
Jeśli zobaczysz błąd dotyczący braku uprawnień do zapisu dla wp-config.php na pulpicie nawigacyjnym WordPress, prawdopodobnie jest to spowodowane wtyczką, która wymaga dostępu do zapisu do wp-config.php . Niektóre wtyczki wymagają tego typu dostępu, aby dodać kod wymagany do działania wtyczki. Jednak niektóre hosty mogą zaimplementować ścisłe uprawnienia na wp-config.php ze względów bezpieczeństwa, które również odmawiają dostępu do zapisu do tych wtyczek.
Jeśli Twój host umożliwia wprowadzanie zmian w tych ustawieniach, powinieneś mieć możliwość zmiany uprawnień do plików i folderów za pośrednictwem SFTP lub cPanel.
SFTP
W tym przykładzie używamy Filezilli.
1. Połącz się z serwerem przez SFTP.
2. Znajdź plik wp-config.php . Domyślnie znajduje się w folderze głównym instalacji WordPressa, ale może znajdować się w innym miejscu.
3. Kliknij prawym przyciskiem myszy plik wp-config.php i kliknij Uprawnienia plików .
Upewnij się, że uprawnienia do plików są ustawione na 640 lub 644.
Jeśli wp-config.php znajduje się w folderze poza folderem głównym, sprawdź dwukrotnie, czy uprawnienia folderu są ustawione na 750 lub 755.
Uwaga: niektóre platformy hostingowe mogą wymagać użycia różnych wartości uprawnień. W przypadku plików możesz wypróbować 664 i 666. W przypadku folderów spróbuj 775.
Jeśli zmiana uprawnień do pliku nie rozwiąże problemu z przyznawaniem dostępu do zapisu, prawdopodobnie winne są ustawienia własności pliku i konieczne będzie skontaktowanie się z dostawcą usług hostingowych w celu wprowadzenia zmian.
Przeczytaj więcej o uprawnieniach do plików WordPress.
Czy wtyczki mogą edytować mój plik wp-config.php ?
Jeśli uprawnienia do folderów i plików są ustawione tak, aby zezwalały na dostęp do zapisu (750, 755 lub 775 dla folderów; 640, 644, 664 lub 666 dla plików), wtyczki powinny mieć możliwość zapisu w wp-config.php . Jeśli chcesz wyłączyć możliwość zapisywania wtyczek w pliku wp-config.php , możesz ustawić bardziej rygorystyczne uprawnienia do plików 440 lub 400. Uniemożliwi to również innym użytkownikom na twoim serwerze odczytanie wp-config.php .
Co to jest wp-config-sample.php ?
Kiedy początkowo pobierasz WordPress, nie ma w nim pliku wp-config.php . Ten plik jest zwykle konfigurowany podczas procesu instalacji lub można go skonfigurować ręcznie. Plik wp-config-sample.php jest dołączony do WordPress, dzięki czemu użytkownicy mają szablon do użycia podczas ręcznego konfigurowania wp-config.php , a także mają zapasowy szablon „czystej karty”, z którego można pracować, jeśli coś się stanie z twoim oryginalny utworzony plik wp-config.php .
wp-config-sample.php zawiera wszystkie podstawowe stałe i wartości zastępcze wymagane do skonfigurowania WordPressa, a także skomentowane wyjaśnienia sekcji w pliku, które pomagają użytkownikom zrozumieć, gdzie umieścić określone informacje.
zawartość wp-config-sample.php:
<?php /** * The base configuration for WordPress * * The wp-config.php creation script uses this file during the installation. * You don't have to use the web site, you can copy this file to "wp-config.php" * and fill in the values. * * This file contains the following configurations: * * * Database settings * * Secret keys * * Database table prefix * * ABSPATH * * @link https://wordpress.org/support/article/editing-wp-config-php/ * * @package WordPress */ // ** Database settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME', 'database_name_here' ); /** Database username */ define( 'DB_USER', 'username_here' ); /** Database password */ define( 'DB_PASSWORD', 'password_here' ); /** Database hostname */ define( 'DB_HOST', 'localhost' ); /** Database charset to use in creating database tables. */ define( 'DB_CHARSET', 'utf8' ); /** The database collate type. Don't change this if in doubt. */ define( 'DB_COLLATE', '' ); /**#@+ * Authentication unique keys and salts. * * Change these to different unique phrases! You can generate these using * the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}. * * You can change these at any point in time to invalidate all existing cookies. * This will force all users to have to log in again. * * @since 2.6.0 */ define( 'AUTH_KEY', 'put your unique phrase here' ); define( 'SECURE_AUTH_KEY', 'put your unique phrase here' ); define( 'LOGGED_IN_KEY', 'put your unique phrase here' ); define( 'NONCE_KEY', 'put your unique phrase here' ); define( 'AUTH_SALT', 'put your unique phrase here' ); define( 'SECURE_AUTH_SALT', 'put your unique phrase here' ); define( 'LOGGED_IN_SALT', 'put your unique phrase here' ); define( 'NONCE_SALT', 'put your unique phrase here' ); /**#@-*/ /** * WordPress database table prefix. * * You can have multiple installations in one database if you give each * a unique prefix. Only numbers, letters, and underscores please! */ $table_prefix = 'wp_'; /** * For developers: WordPress debugging mode. * * Change this to true to enable the display of notices during development. * It is strongly recommended that plugin and theme developers use WP_DEBUG * in their development environments. * * For information on other constants that can be used for debugging, * visit the documentation. * * @link https://wordpress.org/support/article/debugging-in-wordpress/ */ define( 'WP_DEBUG', false ); /* Add any custom values between this line and the "stop editing" line. */ /* That's all, stop editing! Happy publishing. */ /** Absolute path to the WordPress directory. */ if ( ! defined( 'ABSPATH' ) ) { define( 'ABSPATH', __DIR__ . '/' ); } /** Sets up WordPress vars and included files. */ require_once ABSPATH . 'wp-settings.php';