Конкретно хочу поставить redis@5.3.7 в компанию к Debian 12 + PHP 8.2.12 Из коробки pecl ставит redis@6.0.2 и с ним есть проблемка. С прежней версией не было. На RHEL 8 я смог буквально поставить пакет как yum install php-pecl-redis5 а на Debian нет аналога.
https://download.redis.io/releases/ Выбирай нужную версию, обнови репозиторий, все остальное можешь вообще пока закомментировать и скомпилировать/установить.
@Survivor спасибо за помощь, но это не те пакеты ))) мне нужен пакет php, понимаешь? то, что подключается в конфиге как extension=redis.so насколько я знаю, конкретно на Debian его ставят не через apt, а собирают через PECL.
Конкретная проблема уже не очень актуальна, по ряду причин. Но вопрос таки остается, ибо такая потребность может повториться. Можно ли уговорить PECL поставить устаревшую и пропавшую из виду версию пакета?
Жаль нет поднятого сервера под рукой Код (Text): sudo apt-get -y install gcc make autoconf libc-dev pkg-config sudo pecl install redis-5.3.7 sudo bash -c "echo extension=redis.so > /etc/php/8.2/mods-available/redis.ini" sudo phpenmod redis sudo service php8.2-fpm restart + https://github.com/phpredis/phpredis/ судя по всему, как раз таки 5.3.7 поддерживает php 8.2 или наоборот =)
конец 2023г. пора использовать контейнеры. спасибо, это рабочее решение. на Debian это выглядит так: Код (Text): $ sudo pecl uninstall redis Unable to remove "extension=redis.so" from php.ini uninstall ok: channel://pecl.php.net/redis-6.0.2 # просят закоментировать extension=redis, сделаем это $ sudo nano /usr/local/etc/php/conf.d/docker-php-ext-redis.ini $ sudo pecl install redis-5.3.7 . . . $ pecl list | grep redis redis 5.3.7 stable # идем обратно и раскоментируем расширение $ sudo nano /usr/local/etc/php/conf.d/docker-php-ext-redis.ini $ php artisan tinker Psy Shell v0.11.20 (PHP 8.2.13 — cli) by Justin Hileman > new RedisSentinel('host.docker.internal','26379',1000,0,1,1000) = RedisSentinel {#8036} # ошибки не возникает, а в redis6 здесь ругалось на число аргументов. победа! --- Добавлено --- P.S. Конкретно в Laravel проблема с RedisSentinel решается и другим образом: для поддержки Sentinel вместо master ветки можно поставить v0.3.0, там есть work around для redis6. То есть будет работать и там и сям.