RedisCache на SMF 2.1

Автор meccep45, 09 мая 2023, 15:35:04

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

meccep45

Нашёл тему на GitHub про Redis Cach ,и заинтересовался. Решил попробовать как оно в деле. По порту работает, но через сокет не хочет. Возможно и мои ошибки.
Будет хорошо если сделают.
Вам недоступны вложения в этом разделе.
<<Я всегда с собой беру, резервную копию.>>


meccep45

Цитата: digger® от 09 мая 2023, 23:07:19А сам Redis то настроен, чтобы слушать сокет?
да, был настроен сокет. но добиться работы не смог. nginx+php-fmp socket+redis port так работает. думаю дело в правах.
<<Я всегда с собой беру, резервную копию.>>

meccep45

nginx ругается когда redis через сокет.
FastCGI sent in stderr: "PHP message: PHP Warning:  Redis::connect(): php_network_getaddresses: getaddrinfo for  failed: Name or service not known in /opt/share/www/Sources/Cache/APIs/RedisCache.php on line 84"

<<Я всегда с собой беру, резервную копию.>>

meccep45

cессии передаются нормально.
redis /opt/var/run/redis/redis.sock> KEYS *
1) "PHPREDIS_SESSION:5bhksskka885m43agtpfljv7aq22llhm22e0fjmn1gi"
2) "PHPREDIS_SESSION:do1bfanir2lb07jatn737kr17b5opatnkn8fk308srt"
3) "PHPREDIS_SESSION:vn8823j001qi04cvkkgpskdm7u2jml8sujc7f6bqbbi"
4) "PHPREDIS_SESSION:15hqft4g1avch96vf72c2jv3mup7jobn5l0sdocm6ss"
5) "PHPREDIS_SESSION:ka1eal0hvs5t3khm8qpkq57ueh1m415jp5o7lt0pm70"
6) "PHPREDIS_SESSION:6otjmn9feu1atqrvrucjci39509tv9ducrgv4lsfs1s"
7) "PHPREDIS_SESSION:u836uik9fru0jr9e9o4g52lma30g0mkvbsl0n83jo2c"
redis /opt/var/run/redis/redis.sock>
<<Я всегда с собой беру, резервную копию.>>

meccep45

Раздал всем права. Сокет только сессии и получает, остальное ни в какую не хочет. Всё также RedisCache.php on line 84.
<<Я всегда с собой беру, резервную копию.>>

meccep45

попробовал проверить.
~ # ls -la /var/run/redis/
total 12
drwxr-xr-x 2 nobody nobody 4096 мая 23 18:20 .
drwxr-xr-x 5 root   root   4096 мая 20 02:03 ..
-rw-r--r-- 1 nobody nobody    6 мая 23 18:20 redis.pid
srwxrwxrwx 1 nobody nobody    0 мая 23 18:20 redis.sock
~ # cat /share/www/redis.php
<?php
$r 
= new Redis();
$result $r->connect('/var/run/redis/redis.sock');
var_dump($result);
?>

~ # php-cli -f /share/www/redis.php
bool(true)
~ #
<<Я всегда с собой беру, резервную копию.>>

Yarik

redis-php установили?

meccep45

<<Я всегда с собой беру, резервную копию.>>

Yarik

sudo apt install php-redis
Как я когда то убедился бывает поставить redis мало. Сначала поставить redis а потом ещё то что выше. А так тоже было что вроде как и есть,и работает.
То сервер redis. А это модуль php для его работы.

meccep45

нашёл ещё скрипт проверки.
<?php

$redis 
= new Redis();

$redis->connect('/var/run/redis/redis.sock');
$redis->auth('passwd');

$redis->set("test_php_key""test php value");
echo 
$redis->get("test_php_key");
echo 
"\r\n";

?>
подключаемся к нашему локальному серверу Redis, авторизовываемся и создаем ключ test_php_key со значением test php value. Скрипт должен нам вернуть данное значение. Сработало. Значит дело не в моей настройке, возможно в скрипте.
<<Я всегда с собой беру, резервную копию.>>


meccep45

<<Я всегда с собой беру, резервную копию.>>