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)
- GitHub: https://github.com/php/php-sdk-binary-tools
- wypakuj do:
C:\php-sdk
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)
- php-8.4.7-src.zip (rozpakuj do:
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


