Problem z WordPressem może wystąpić nagle i nawet tak jak w moim przypadku, przy obowiązkowej aktualizacji zastałem dziwny błąd na stronie głównej.
Dziś tak bardzo spontanicznie, ale myślę że ten wpis może komuś uratować trochę nerwów i zapewne oszczędzić czasu. Od razu na wstępie powiem, że szukałem porady na stackoverflow i poniekąd coś znalazłem, ale jeżeli ktoś nie zna PHP to raczej może sobie nie poradzić.
Wszystko zaczęło się od takiego maila:
Cześć!
Od WordPress 5.2 istnieje wbudowana funkcja, która wykrywa, kiedy wtyczka lub motyw powoduje błąd krytyczny w witrynie, i powiadamia za pomocą tego automatycznego e-maila.
WordPress wykrył błąd w używanej wtyczce: Contact Form 7.
Proszę odwiedzić witrynę (https://dolp.pl/) i sprawdzić, czy nie ma żadnych widocznych problemów. Następnie odwiedzić stronę, na której został wykryty błąd (https://dolp.pl/wp-login.php) i sprawdzić, czy nie ma widocznych problemów.
Skontaktuj się z hostingodawcą, aby uzyskać pomoc w dalszym badaniu tego problemu.
Jeśli witryna wygląda na uszkodzoną i nie można uzyskać dostępu do pulpitu, WordPress ma teraz specjalny „tryb odzyskiwania”. Pozwala to bezpiecznie zalogować się do pulpitu nawigacyjnego i badać ją dalej.
https://dolp.pl/wp-login.php?action=enter_ recovery_mode&rm_token= 418WFZXBKHSlf83Ervas38&rm_key= i5B0Be*******
Aby zachować bezpieczeństwo witryny, ten link wygaśnie za 1 dzień. Proszę się tym nie przejmować, bo nowy link zostanie wysłany, jeśli błąd wystąpi ponownie po jego wygaśnięciu.
Szczegóły błędu
===================
Błąd typu E_COMPILE_ERROR został spowodowany w linii 12 pliku /usr/home/*******/domains/dolp.pl/ public_html/wp-content/ plugins/contact-form-7/ settings.php. Komunikat błędu: require_once(): Failed opening required '/usr/home/******/ domains/dolp.pl/ public_html/wp-content/ plugins/contact-form-7/ includer/contact-form.php’ (include_path=’.:/usr/local/ share/pear’)
Jak poradzić sobie z takim problemem w WordPressie?
Nie powiem bo na początku byłem dość mocno zaskoczony i jak spojrzałem to problem występował z wtyczką Contact Form 7. Próbowałem używać linku do odzyskania – niestety bez skutku i problem z WordPressem nadal występował. Objawiał się tym, że na stronie głównej widziałem ten sam problem, gdzie skrypt próbował dołączyć dodatkowe pliki za pomocą funkcji include lub required_once i zwracał błąd.
Jak wspomniałem na początku niestety wizyty na forach dla koderów na niewiele mi się zdały, więc zacząłem to robić na własną rękę. Czyli po kolei:
- Zalogowałem się na ftp gdzie trzymana jest strona i poddałem edycji plik, który zwracał błąd,
- Odnalazłem konkretną linijkę kodu (wszystko wyglądało ok),
- Przepisałem ją ręcznie i nadpisałem plik,
- No i zaczęło działać, ale wyrzuciło kolejny błąd tym razem do wtyczki Yoast SEO,
- Powtórzyłem czynności z punktów od 1 – 3 aż do skutku.
W końcu po kolejnym odświeżeniu strony zauważyłem, że została ona załadowana normalnie. Mogłem się zalogować do panelu administratora i na dobrą sprawę nic znaczącego się nie działo, cały panel wyglądał jak wcześniej czyli aktualizacje zrobione na bieżąco oraz panuje ład i porządek. Po prostu problem z WordPressem zniknął co mi ulżyło. Całość zajęła mi może 5 minut pracy.
Co nagle spowodowało błąd WordPressa ?
Na tą chwilę jeszcze nie wiem, ale zauważyłem że dotknęło to wszystkie strony na moim ftp które są wyposażone we wtyczkę Contact Form 7 oraz Yoast SEO. Zakładam, że coś mogło powodować wewnętrzny błąd serwera ale tego będę pewny jak poczytam logi. Może ktoś zna przyczyny takiego zachowania to śmiało czekam na informację.