WordPress potrzebuje zestawu rozszerzeń PHP odpowiedzialnych między innymi za komunikację sieciową, obsługę obrazów, kodowanie danych, analizę XML i szyfrowanie. Do podstawowego środowiska należy włączyć rozszerzenia wymagane przez rdzeń, a OPcache, ZipArchive, Intl i Sodium traktować jako ważne uzupełnienie współczesnej instalacji.
Jakie rozszerzenia PHP są wymagane?
Podstawowa instalacja WordPressa powinna mieć dostęp do następujących rozszerzeń:
- cURL
- DOM
- Exif
- Fileinfo
- GD lub Imagick
- Hash
- Iconv
- JSON
- Mbstring
- OpenSSL
- PCRE
- SimpleXML
- XML
- XMLReader
- Zlib
W przypadku obsługi obrazów wystarczy GD albo Imagick. Oba rozszerzenia są często instalowane razem, ale do podstawowych operacji przetwarzania grafiki nie zawsze są potrzebne jednocześnie. Imagick oferuje szersze możliwości, natomiast GD zwykle ma mniejsze wymagania środowiskowe.
Do czego służą te rozszerzenia?
Brak pojedynczego modułu nie zawsze uniemożliwia uruchomienie WordPressa, ale może powodować problemy z konkretnymi funkcjami. Przykładem są nieudane przesyłanie obrazów, błędy aktualizacji, problemy z połączeniami HTTPS lub nieprawidłowe przetwarzanie znaków.
| Rozszerzenie | Główna funkcja |
|---|---|
| cURL | Komunikacja z zewnętrznymi usługami, API i serwerami aktualizacji. |
| DOM, SimpleXML, XML, XMLReader | Odczytywanie i przetwarzanie dokumentów XML, kanałów RSS oraz danych wymienianych przez wtyczki. |
| GD lub Imagick | Tworzenie miniatur, zmiana rozmiaru i przetwarzanie obrazów. |
| Exif | Odczytywanie metadanych zapisanych w plikach zdjęć. |
| Fileinfo | Rozpoznawanie typów plików podczas ich przesyłania. |
| Hash | Tworzenie skrótów używanych między innymi w mechanizmach bezpieczeństwa. |
| Iconv i Mbstring | Obsługa kodowania znaków oraz ciągów zawierających znaki wielobajtowe. |
| JSON | Kodowanie i odczytywanie danych przesyłanych między WordPressem, przeglądarką i API. |
| OpenSSL | Operacje kryptograficzne i bezpieczna komunikacja szyfrowana. |
| PCRE | Praca z wyrażeniami regularnymi, wykorzystywanymi między innymi przy analizie tekstu i adresów. |
| Zlib | Kompresja i dekompresja danych. |
Jakie rozszerzenia warto włączyć dodatkowo?
Nie wszystkie poniższe moduły są bezwzględnie potrzebne do samego załadowania rdzenia WordPressa. W praktyce ułatwiają jednak działanie aktualizacji, wtyczek, lokalizacji i mechanizmów wydajnościowych:
- OPcache – przechowuje skompilowany kod PHP w pamięci, ograniczając konieczność jego ponownej kompilacji przy kolejnych żądaniach.
- ZipArchive – obsługuje archiwa ZIP używane przy instalowaniu i aktualizowaniu wtyczek oraz motywów.
- Intl – zapewnia funkcje związane z lokalizacją, formatowaniem liczb, dat i tekstu.
- Sodium – udostępnia nowoczesne mechanizmy kryptograficzne wykorzystywane przez część współczesnych bibliotek i wtyczek.
Szczególne znaczenie ma ZipArchive. Jego brak może prowadzić do błędów podczas instalowania lub aktualizowania dodatków. OPcache nie jest wymagany do działania WordPressa, ale w środowisku produkcyjnym zwykle stanowi podstawowe rozszerzenie wydajnościowe.
Jak sprawdzić zainstalowane rozszerzenia PHP?
Na serwerze z dostępem do terminala użyj polecenia:
php -m
Wyświetli ono listę modułów załadowanych przez używaną wersję PHP. Trzeba pamiętać, że PHP używane w terminalu może mieć inną konfigurację niż PHP obsługujące stronę przez serwer WWW.
Drugą metodą jest utworzenie tymczasowego pliku z funkcją phpinfo() i otwarcie go w przeglądarce. Sekcja „Core” lub „Additional Modules” pokaże aktywne rozszerzenia. Po sprawdzeniu konfiguracji plik należy usunąć, ponieważ ujawnia szczegółowe informacje o środowisku serwera.
Przy konfiguracji PHP 8.x sprawdź także zgodność wersji z aktualnym wydaniem WordPressa oraz używanymi wtyczkami. Lista zależności może się zmieniać wraz z rozwojem rdzenia i dodatków.
Szybka weryfikacja: wymagane moduły obejmują między innymi cURL, DOM, JSON, Mbstring, OpenSSL, XML, Zlib oraz GD lub Imagick. W nowoczesnym środowisku warto uzupełnić je o OPcache, ZipArchive, Intl i Sodium.