Jak skompilować php_redis.dll dla PHP 8.4.x na Windowsie (Laragon, VS17, TS/NTS)

Redis może znacznie przyspieszyć WordPressa i WooCommerce, ale problem pojawia się, gdy chcesz korzystać z najnowszej wersji PHP (np. 8.4.7), a nie istnieje jeszcze gotowe rozszerzenie php_redis.dll dla Windowsa.

W tym artykule pokażę krok po kroku, jak samodzielnie zbudować php_redis.dll zgodnie z własną konfiguracją (TS/NTS, VC17, x64).

Co będzie potrzebne

1. Visual Studio 2022 (Community Edition wystarczy)

  • zainstaluj z opcją: Desktop development with C++

2. Narzędzia PHP SDK (php-sdk-binary-tools)

3. Źródła PHP

  • z https://windows.php.net/download/ pobierz:
    • php-8.4.7-src.zip (rozpakuj do: C:\php-sdk\phpdev\php-8.4.7-src)
    • php-8.4.7-devel.zip (rozpakuj do: C:\php-sdk\phpdev\php-8.4.7-devel)

4. phpredis

  • klonuj repo:
cd C:\php-sdk\phpdev\php-8.4.7-src\ext
git clone https://github.com/phpredis/phpredis.git redis

Kompilacja php_redis.dll

1. Uruchom wiersz poleceń:

cd C:\php-sdk

dla wersji TS

php-sdk-binary-tools\phpsdk-vs17-x64.bat

dla wersji NTS

php-sdk-binary-tools\phpsdk-vs17-x64.bat --nts

2. Przejdź do katalogu źródła PHP:

cd phpdev\php-8.4.7-src

3. Przygotuj configure:

buildconf --force

4. Skonfiguruj build:

dla wersji TS

configure --disable-all --enable-cli --enable-redis=shared

dla wersji NTS

configure --disable-zts --enable-cli --enable-redis=shared

5. Zbuduj rozszerzenie:

nmake php_redis.dll

Po zakończeniu buildu, gotowy plik znajdziesz w:

C:\php-sdk\phpdev\php-8.4.7-src\x64\Release_TS\php_redis.dll

Skopiuj go do katalogu ext w swojej instalacji PHP w Laragonie:

C:\laragon\bin\php\php-8.4.7-ts-Win32-vs17-x64\ext\

Dodaj do php.ini:

extension=php_redis.dll

Jak potwierdzić, że Redis działa

php -m

Powinieneś zobaczyć redis na liście modułów.

albo:

php -i | findstr redis

Redis dla PHP sessions (opcjonalnie)

W php.ini:

session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"

Możesz też dodać ?database=2, aby nie trzymać sesji w tej samej bazie co cache WordPressa.

Podsumowanie

Zbudowanie php_redis.dll na Windows nie jest banalne, ale daje Ci 100% kontrolę nad wersją i kompatybilnością. Przyda się zarówno w devie, jak i na produkcji (np. Docker na Windowsie). Kompatybilność TS/NTS i zgodność z VC to klucz do sukcesu.

PHP 8.4.7 TS

Linki

Link do GitHub dla wersji TS

Link do GitHub dla wersji NTS