Jak naprawić błąd: „Wydaje się, że w Twojej instalacji PHP brakuje rozszerzenia MySQL, które jest wymagane przez WordPress”
Opublikowany: 2022-11-01Komunikat o błędzie „Wygląda na to, że w Twojej instalacji PHP brakuje rozszerzenia MySQL wymaganego przez WordPress” może być mylący zarówno dla początkujących użytkowników WordPressa, jak i doświadczonych użytkowników. Chociaż może się wydawać, że wystarczy zainstalować brakujące rozszerzenie MySQL WordPress, instalacja i konfiguracja PHP po stronie serwera jest znacznie bardziej skomplikowana. Co więcej, dla PHP dostępnych jest sporo różnych sterowników baz danych, z których każdy służy temu samemu celowi.
Z tego obszernego przewodnika po naprawie błędu „W Twojej instalacji PHP wydaje się brakować rozszerzenia MySQL wymaganego przez WordPress” dowiesz się, w jaki sposób WordPress komunikuje się ze swoją bazą danych i jak upewnić się, że w Twojej instalacji PHP jest zainstalowane prawidłowe rozszerzenie MySQL. .
Jak WordPress komunikuje się ze swoją bazą danych?
Twoja witryna WordPress jest dynamiczną aplikacją internetową opartą na bazie danych. Zasadniczo oznacza to dwie rzeczy: zdecydowana większość całej zawartości witryny jest przechowywana w bazie danych WordPressa, a WordPress bezwzględnie opiera się na umiejętności poprawnej komunikacji z bazą danych. Za każdym razem, gdy ładujesz dowolną stronę w swojej witrynie, WordPress wykonuje szereg manipulacji za kulisami.
Ponieważ wszystkie posty, strony i inne kluczowe informacje są przechowywane w bazie danych, w przeciwieństwie do plików na serwerze, które zobaczylibyśmy na statycznej stronie internetowej. WordPress PHP musi pobrać żądaną zawartość, wysyłając zapytania SQL i połączyć ją z plikami szablonów, aby utworzyć stronę HTML, która zostanie wysłana do odwiedzającego witrynę. Innymi słowy, WordPress analizuje adres, który otwierasz w przeglądarce, tworząc zestaw parametrów zapytania, które następnie zostaną użyte do zapytania bazy danych.
Jaka jest więc rola PHP w tym procesie? Instalacja WordPress lub rdzeń WordPress to zestaw skryptów PHP, które razem tworzą dynamiczną stronę internetową. PHP jako język programowania staje się centralnym elementem architektury WordPress, co oznacza, że Twoja instalacja PHP musi być odpowiednio skonfigurowana do komunikacji z bazą danych WordPress. Jednym z kluczowych aspektów jest posiadanie zainstalowanych i włączonych wymaganych rozszerzeń PHP.
Rozszerzenia PHP MySQL dla WordPress
PHP używa specjalnego rozszerzenia lub sterownika bazy danych, aby zapewnić, że WordPress może nawiązać połączenie ze swoją bazą danych przy użyciu poświadczeń podanych w pliku wp-config.php. Ale czym dokładnie jest to rozszerzenie? Prawdopodobnie widziałeś różne jego wersje: mysql, mysqli, mysqlnd, pdo_mysql, libmysql, a nawet więcej. Łatwo się pomylić, więc zajmijmy się tym raz na zawsze.
Od wersji 5.3 PHP używa Native Driver MySQL do komunikacji z serwerem bazy danych. MySQL Native Driver może być również określany jako mysqlnd i zastępuje bibliotekę klienta MySQL (libmysql) dystrybuowaną przez MySQL. Trzy rozszerzenia MySQL – mysql, mysqli i pdo_mysql – są skompilowane tak, aby korzystały z natywnego sterownika MySQL i są szeroko stosowane w witrynach opartych na PHP.
PHP zdeprecjonowało rozszerzenie mysql w wersji 5.5 i usunęło wsparcie dla niego w PHP 7+ na rzecz mysqli. Dopasowując swoją ścieżkę do tej decyzji, WordPress używa rozszerzenia mysqli z wersji 3.9. Ponieważ pdo_mysql nie jest obsługiwany przez WordPress, sterownik bazy danych wymieniony w komunikacie o błędzie „W Twojej instalacji PHP wydaje się brakować rozszerzenia MySQL wymaganego przez WordPress” jest rozszerzenie mysqli PHP.
Co oznacza błąd „Wydaje się, że w Twojej instalacji PHP brakuje rozszerzenia MySQL, które jest wymagane przez WordPress”?
Błąd „Wygląda na to, że w Twojej instalacji PHP brakuje rozszerzenia MySQL wymaganego przez WordPress” oznacza, że wersja PHP używana przez Twoją witrynę WordPress nie ma poprawnie zainstalowanego lub skonfigurowanego rozszerzenia mysqli. Prowadzi to do tego, że WordPress nie może komunikować się ze swoją bazą danych, co z kolei powoduje wyświetlanie tej odmiany komunikatu o błędzie połączenia z bazą danych WordPress w Twojej witrynie.
Błędy połączenia z bazą danych WordPress
WordPress może wyświetlać błędy połączenia z bazą danych z różnych powodów. Komunikat o błędzie, który WordPress wybierze do wyświetlenia, zależy od tego, na jakim etapie napotkał problemy podczas próby połączenia. Ważne jest, aby zrozumieć różnicę między dwoma głównymi błędami związanymi z niemożnością komunikacji z bazą danych WordPress.
Komunikat „Błąd nawiązywania połączenia z bazą danych” pojawi się na Twojej stronie internetowej, jeśli informacje o bazie danych w pliku wp-config.php są nieprawidłowe, użytkownik bazy danych nie ma wystarczających uprawnień, Twoja baza danych jest uszkodzona lub serwer MySQL/MariaDB został odrzucony połączenie. W takim przypadku WordPress może korzystać z rozszerzenia mysqli, ale na późniejszym etapie napotka pewne problemy.
Jeśli widzisz na swojej stronie komunikat o błędzie „Wygląda na to, że w Twojej instalacji PHP brakuje rozszerzenia MySQL wymaganego przez WordPress”, oznacza to, że rozszerzenie PHP mysqli nie jest zainstalowane lub nie zostało załadowane przez Twoją instalację PHP. Sterownik bazy danych zapewnia, że WordPress może używać swojej globalnej klasy wpdb(), co jest pierwszym krokiem do nawiązania połączenia z bazą danych.
3 główne powody braku błędu rozszerzenia MySQL WordPress
Kiedy instalujesz WordPress po raz pierwszy lub przenosisz swoją witrynę WordPress do nowej infrastruktury hostingowej, musisz upewnić się, że wszystkie usługi są poprawnie skonfigurowane. Obejmuje serwer WWW, który będzie akceptował żądania HTTP, program obsługi PHP, który będzie kontrolował wykonywanie kodu PHP, oraz bazę danych MySQL/MariaDB, która będzie akceptować i przetwarzać żądania bazy danych.
Nowoczesne panele kontrolne hostingu pozwalają na jednoczesne posiadanie wielu wersji PHP na serwerze. Inaczej jest w tradycyjnym podejściu do instalacji PHP, kiedy aby korzystać z nowej wersji PHP, trzeba całkowicie usunąć poprzednią. Możesz także zainstalować wszystkie wymagane rozszerzenia PHP z graficznego interfejsu użytkownika bez konieczności robienia tego z wiersza poleceń.
Możesz wybrać wersję PHP, której chcesz używać na swojej stronie WordPress, a nawet obsługę PHP, jeśli zarejestrowałeś się na VPS lub hosting dedykowany. Ta swoboda zarówno upraszcza proces prowadzenia strony internetowej, jak i czyni go znacznie bardziej skomplikowanym dla kogoś, kto nie jest zaznajomiony ze sposobem działania PHP po stronie serwera.
Poniżej omówimy typowe sytuacje, które spowodują, że PHP nie będzie mogło komunikować się z serwerem MySQL/MariaDB. Oto trzy główne powody komunikatu o błędzie „Wygląda na to, że w Twojej instalacji PHP brakuje rozszerzenia MySQL wymaganego przez WordPress” na Twojej stronie internetowej:
- W wersji PHP używanej przez Twoją witrynę brakuje rozszerzenia PHP mysqli.
- Rozszerzenie PHP mysqli nie jest poprawnie skonfigurowane.
- Używasz przestarzałej wersji WordPressa z PHP 7+.
Powód 1: W wersji PHP używanej przez Twoją witrynę brakuje rozszerzenia PHP mysqli
Możliwe, że rozszerzenie mysqli w ogóle nie jest zainstalowane, zwłaszcza jeśli właśnie udostępniłeś nową wersję PHP. Jeśli WordPress nie może korzystać z rozszerzenia mysqli, spróbuje użyć starego mysql w wersjach PHP niższych niż 7.0. Kluczową sprawą jest posiadanie zainstalowanego i skonfigurowanego sterownika MySQL Native dla wybranej wersji PHP.
Jak się adresować
Zainstaluj sterownik MySQL Native Driver z panelu sterowania hostingu lub za pomocą interfejsu wiersza poleceń, aby włączyć rozszerzenie mysqli WordPress. W przypadku PHP 8.1 pakiet będzie się nazywał php81-php-mysqlnd lub ea-php81-php-mysqlnd.x86_64, jeśli używasz cPanel.
Na serwerze CentOS bez panelu sterowania uruchom yum install php81-php-mysqlnd z interfejsu wiersza poleceń. W przypadku serwerów Ubuntu apt-get zainstalować mysqlnd. System automatycznie włączy obsługę zarówno mysqli, jak i pdo_mysql.
Powód 2: Rozszerzenie PHP mysqli nie jest poprawnie skonfigurowane
Po zainstalowaniu wymaganego sterownika PHP MySQL Native Driver, zarówno mysqli, jak i pdo_mysql powinny być włączone i dostępne dla WordPressa. Aby rozszerzenie zostało załadowane z używaną wersją PHP, w globalnym katalogu konfiguracyjnym PHP tworzony jest specjalny plik PHP. Jeśli z jakiegoś powodu nie można załadować rozszerzenia mysqli dla wybranej wersji PHP, WordPress wyświetli komunikat o błędzie „Wygląda na to, że w Twojej instalacji PHP brakuje rozszerzenia MySQL, które jest wymagane przez WordPress”.
Jak się adresować
Sprawdź, czy sterownik natywny MySQL lub mysqlnd jest poprawnie zainstalowany, a PHP dodało pliki .ini zarówno dla mysqlnd, jak i mysqli. Na serwerach cPanel można znaleźć pliki konfiguracyjne 30-mysqli.ini i 20-mysqlnd.ini w katalogu /opt/cpanel/ea-php81/root/etc/php.d, gdzie PHP 8.1 jest wersją PHP używaną przez Twoja witryna WordPress. Pliki muszą zawierać poniższe wiersze, aby rozszerzenia zostały załadowane poprawnie.
Powód 3: Używasz przestarzałej wersji WordPressa z PHP 7+
Jest to mało prawdopodobne, ale nadal możesz używać bardzo przestarzałej wersji WordPressa z nowszymi wersjami PHP. Korzystanie z przestarzałych wersji oprogramowania nie tylko znacznie zwiększa prawdopodobieństwo napotkania różnych problemów związanych z WordPressem, ale także otwiera przed hakerami niemal nieograniczone możliwości uzyskania dostępu do Twojej witryny i wykonywania złośliwych działań.
Jak się adresować
Nabierz nawyku aktualizowania całego używanego oprogramowania do najnowszej wersji. Zaktualizuj WordPress, aktywny motyw i wszystkie wtyczki. Zawsze używaj najnowszej wersji PHP, aby uniknąć problemów wynikających z niezgodności kodu i niezałatanych luk w zabezpieczeniach.
Ponieważ nie masz dostępu do pulpitu administracyjnego WordPress, użyj interfejsu wiersza poleceń WordPress, aby przeprowadzić wszystkie aktualizacje. Możesz użyć następujących poleceń:
- aktualizacja rdzenia wp. Zaktualizuj rdzeń WordPressa.
- aktualizacja wtyczki wp <nazwa wtyczki>. Zaktualizuj określoną wtyczkę lub użyj flagi — all, aby zaktualizować wszystkie wtyczki naraz.
- wp theme update <aktywna nazwa motywu>. Zaktualizuj swój aktywny motyw.
Jeśli WordPress wyświetli komunikat o brakującym rozszerzeniu MySQL, oznacza to, że poważniej potraktować swoją witrynę WordPress. Podejmij proaktywne podejście do zarządzania wszystkimi jego aspektami, zwłaszcza jeśli chodzi o bezpieczeństwo. iThemes Security Pro i BackupBuddy, wiodące w branży rozwiązania w zakresie bezpieczeństwa WordPress i ochrony danych, mogą sprawić, że proces będzie łatwy i bezproblemowy.
Korzystanie z iThemes Security Pro jest jak posiadanie w zespole eksperta ds. bezpieczeństwa, który będzie monitorował Twoją witrynę WordPress 24/7, co pozwoli Ci skupić się na rozwoju firmy. Chroniąc ponad milion witryn WordPress na całym świecie, BackupBuddy automatycznie tworzy kopię zapasową Twojej witryny w regularnych odstępach czasu, aby przechowywać jej kopię w bezpiecznej lokalizacji w celu przywrócenia jednym kliknięciem, kiedy tylko tego potrzebujesz. W ten sposób możesz łatwo naprawić wszystkie błędy WordPress i infekcje malware, ale pamiętaj – zapobieganie atakom jest zawsze lepsze niż radzenie sobie z konsekwencjami.
Funkcja Skanowania Witryny sprawdza krytyczne obszary Twojej witryny i automatycznie stosuje poprawki, aby Twoja witryna była wolna od przestarzałych wtyczek i motywów, które narażają ją na duże ryzyko. Dzięki iThemes Security Site Scan możesz znacznie zmniejszyć powierzchnię ataku i zabezpieczyć swoją witrynę przed wszelkiego rodzaju atakami sieciowymi.
Zarządzanie wersjami zabezpieczeń iThemes pozwala skonfigurować automatyczne aktualizacje rdzenia WordPress, wtyczek i motywów, aby wykorzystać nowe funkcje i zachować ochronę przed znanymi lukami w zabezpieczeniach.
Aktualizowanie WordPressa jest niezwykle ważne i pozwala zaoszczędzić mnóstwo czasu na rozwiązywanie różnych problemów związanych z WordPress spowodowanych przez przestarzałe oprogramowanie.
Inne powody
Podobnie jak w przypadku innych problemów związanych z WordPress, błąd „Wygląda na to, że w Twojej instalacji PHP brakuje rozszerzenia MySQL wymaganego przez WordPress” może zostać wyświetlony w Twojej witrynie z wielu różnych powodów, które wykraczają poza to, co opisaliśmy powyżej. Jednak przez większość czasu są one związane z błędną konfiguracją programów obsługi PHP lub korzystaniem z systemu operacyjnego CloudLinux, który ma swój własny sposób konfigurowania PHP po stronie serwera.
Selektor PHP CloudLinux
Korzystając z Cloudlinux, możesz wykorzystać CageFS, solidne rozwiązanie do całkowitej izolacji użytkowników, które zapobiega atakom między kontami za pomocą linków symbolicznych i zabezpiecza Twoje witryny. Jeśli używasz CageFS, musisz użyć selektora PHP CloudLinux, który często wprowadza dodatkowe komplikacje dla użytkowników cPanel, którzy normalnie zarządzaliby PHP po stronie serwera z MultiPHP Managera. Zapoznaj się z przewodnikiem CloudLinux dotyczącym korzystania z PHP Selector z cPanel lub skontaktuj się z dostawcą usług hostingowych, aby uzyskać pomoc.
Jak naprawić błąd „Wydaje się, że w Twojej instalacji PHP brakuje rozszerzenia MySQL wymaganego przez WordPress”?
Aby naprawić błąd „Wydaje się, że w Twojej instalacji PHP brakuje rozszerzenia MySQL wymaganego przez WordPress”, musisz upewnić się, że Twoja instalacja PHP ma zainstalowany i skonfigurowany poprawnie sterownik bazy danych MySQL (mysqlnd) oraz rozszerzenie mysqli. Tylko wtedy będziesz mógł przywrócić normalne połączenie między WordPressem a bazą danych WordPress i ponownie uruchomić swoją witrynę.
Wykonaj poniższe czynności, aby naprawić błąd braku rozszerzenia MySQL WordPress:
- Utwórz stronę informacyjną PHP, aby sprawdzić konfigurację PHP.
- Sprawdź, czy rozszerzenie mysqli jest poprawnie zainstalowane i skonfigurowane.
- Przywróć zdolność WordPress do łączenia się z bazą danych i zapobiegaj przyszłym błędom.
Krok 1. Utwórz stronę informacyjną PHP, aby sprawdzić konfigurację PHP
Najłatwiejszym sposobem sprawdzenia konfiguracji instalacji PHP jest utworzenie strony informacyjnej PHP. Utwórz plik o nazwie phpinfo.php w głównym katalogu dokumentów swojej witryny WordPress i wstaw do niego następujący kod:
<?php
phpinfo( );
?>
Alternatywnie uruchom następujące, jeśli jesteś zalogowany do swojej witryny przez SSH. Utworzy plik phpinfo.php i dostosuje jego uprawnienia.
echo "<?php phpinfo(); ?>" > phpinfo.php ; chown $(stat -c %U .). phpinfo.php
Otwórz nowo utworzoną stronę phpinfo.php w przeglądarce, wpisując twojawitryna.com/phpinfo.php w pasku adresu. Zastąp yourwebsite.com rzeczywistą nazwą domeny swojej witryny WordPress. Nawet jeśli żadna zawartość nie zostanie załadowana z powodu braku błędu rozszerzenia MySQL, nie będziesz mieć żadnych problemów z otwarciem strony informacyjnej PHP.
Powinieneś zobaczyć stronę podobną do tej poniżej, która będzie zawierała całą konfigurację wersji PHP, której używasz w swojej witrynie WordPress. W tym przypadku jest to PHP 8.1. Posiadanie strony informacyjnej PHP przydaje się do rozwiązywania różnych błędów WordPress, w tym komunikatu „W Twojej witrynie wystąpił błąd krytyczny” w WordPress.
U góry strony zobaczysz wersję PHP używaną przez Twoją witrynę WordPress. Oto niektóre z najważniejszych aspektów instalacji PHP, które powinieneś najpierw sprawdzić:
- Obsługa PHP. Program obsługi PHP używany przez Twoją witrynę będzie wyświetlany jako interfejs API serwera. Na powyższym zrzucie ekranu jest to FPM/FastCGI.
- Załadowany plik konfiguracyjny. Główny plik konfiguracyjny załadowany dla używanej wersji PHP.
- Przeanalizowano dodatkowe pliki .ini. Ta lista będzie zawierała wszystkie inne załadowane pliki konfiguracyjne PHP, w tym te ładujące natywny sterownik MySQL (20-mysqlnd.ini) i rozszerzenie mysqli (30-mysqli.ini).
Upewnij się, że lista dodatkowych przeanalizowanych plików .ini zawiera wymagane pliki 20-mysqlnd.ini i 30-mysqli.ini, które gwarantują, że wymagane rozszerzenie mysqli PHP WordPress jest załadowane poprawnie i może być używane przez Twoją witrynę.
Krok 2. Sprawdź, czy rozszerzenie mysqli jest poprawnie zainstalowane i skonfigurowane
Przewiń stronę informacyjną PHP lub użyj opcji wyszukiwania w przeglądarce, aby przejrzeć sekcje mysqli i mysqlnd. Powinni iść jeden po drugim.
Zauważ, że rozszerzenie mysqli jest skompilowane do używania sterownika MySQL Native, ponieważ wersja Client API Library pokazuje nam mysqlnd. Informacje o rozszerzeniu PHP pokazują nam kilka dodatkowych szczegółów, w tym port MySQL/MariaDB.
Sprawdź, jakie rozszerzenia API znajdują się w sekcji mysqlnd w plikach informacyjnych PHP. Na powyższym zrzucie ekranu mamy włączone zarówno mysqli, jak i pdo_mysql.
Krok 3. Przywróć możliwość łączenia się WordPressa z bazą danych
Strona informacyjna PHP pokaże Ci, czy wersja PHP, której używasz w witrynie WordPress, ma zainstalowane i skonfigurowane rozszerzenie mysqli. Jeśli go nie ma, zainstaluj go z interfejsu zarządzania PHP dostarczonego przez panel sterowania hostingu lub za pomocą interfejsu wiersza poleceń.
Sprawdź wymienione 20-mysqlnd.ini i 30-mysqli.ini, aby sprawdzić, czy poprawnie ładują rozszerzenie. Jeśli korzystasz z przestarzałej wersji WordPressa, zaktualizuj instalację oraz wszystkie wtyczki i motywy.
Kroki, które opisaliśmy w tym przewodniku, powinny w większości przypadków pomóc w przywróceniu funkcjonalności witryny WordPress. Jednak, jak wspomnieliśmy, mogą wystąpić inne problemy, w tym błędna konfiguracja obsługi PHP, które mogą prowadzić do wyświetlenia na Twojej stronie komunikatu o błędzie „Wygląda na to, że w Twojej instalacji PHP brakuje rozszerzenia MySQL wymaganego przez WordPress”. Jeśli nie jest jasne, co jest przyczyną problemu, najlepiej skontaktować się z zespołem pomocy technicznej hostingu, aby uzyskać dalszą pomoc.
Zawijanie
Błąd brakującego rozszerzenia WordPress MySQL jest jednym z problemów WordPressa związanych z jego zdolnością do komunikacji z bazą danych. Wskazuje, że brakuje wymaganego rozszerzenia PHP mysqli lub jest ono nieprawidłowo skonfigurowane, co powoduje, że PHP nie może wysyłać zapytań SQL do Twojej bazy danych WordPress. Począwszy od PHP 7.0, starsze rozszerzenie mysql zostało usunięte na rzecz mysqli, nowego rozszerzenia WordPress MySQL skompilowanego do korzystania z natywnego sterownika MySQL.
Podobnie jak w przypadku każdego innego krytycznego błędu WordPress, błąd „Wygląda na to, że w Twojej instalacji PHP brakuje rozszerzenia MySQL wymaganego przez WordPress” oznacza, że musisz sprawdzić konfigurację WordPressa i zapewnić najlepsze praktyki bezpieczeństwa.
Przyjęcie proaktywnego podejścia do administrowania witryną WordPress i bezpieczeństwa pomoże Ci zapobiec większości błędów i znacznie zmniejszyć powierzchnię ataku. Skonfiguruj monitorowanie, automatyczne aktualizacje oprogramowania i regularne kopie zapasowe, aby Twoja witryna była chroniona przed lukami w zabezpieczeniach i atakami sieciowymi Niech iThemes Security Pro i BackupBuddy będą Twoim zespołem ekspertów ds. bezpieczeństwa i odzyskiwania danych, który zapewni, że Twoja witryna nigdy nie przejdzie w tryb offline.
Najlepsza wtyczka bezpieczeństwa WordPress do zabezpieczania i ochrony WordPressa
WordPress obsługuje obecnie ponad 40% wszystkich stron internetowych, więc stał się łatwym celem dla hakerów o złych zamiarach. Wtyczka iThemes Security Pro eliminuje zgadywanie z zabezpieczeń WordPress, aby ułatwić zabezpieczenie i ochronę witryny WordPress. To tak, jakby zatrudniać pełnoetatowego eksperta ds. bezpieczeństwa, który stale monitoruje i chroni Twoją witrynę WordPress.
Kiki posiada licencjat z zarządzania systemami informatycznymi i ponad dwuletnie doświadczenie w Linuksie i WordPressie. Obecnie pracuje jako specjalista ds. bezpieczeństwa w Liquid Web i Nexcess. Wcześniej Kiki była częścią zespołu wsparcia Liquid Web Managed Hosting, gdzie pomogła setkom właścicieli witryn WordPress i dowiedziała się, z jakimi problemami technicznymi często się spotykają. Jej pasja do pisania pozwala jej dzielić się wiedzą i doświadczeniem, aby pomagać ludziom. Oprócz technologii Kiki lubi poznawać kosmos i słuchać podcastów o prawdziwych przestępstwach.