# 如果已经使用过 apcu 作为缓存,要先去除 apcu 缓存
grep -r apc /etc/php/8.2/ # 找到 apc 相关的配置行
sudo emacs /etc/php/8.2/mods-available/apcu.ini # 注释掉对 apcu 的调用
# 进 LocalSettings.php 取消对 CACHE_ACCEL 的调用
## Shared memory settings
## $wgMainCacheType = CACHE_ACCEL;
## $wgMemCachedServers = [];
# 安装并配置 redis 作缓存后端
sudo apt install redis-server php-redis
# 编辑 LocalSettings.php
$wgObjectCaches['redis'] = [
'class' => 'RedisBagOStuff',
'servers' => [ '127.0.0.1:6379' ],
// 'connectTimeout' => 1,
// 'persistent' => false,
// 'password' => 'secret',
// 'automaticFailOver' => true,
];
$wgMainCacheType = 'redis';
$wgParserCacheType = 'redis'; // 可选
$wgMessageCacheType = 'redis'; // 可选
// 若使用新版 API,可直接写 'redis'
// $wgMainCacheType = 'redis';
## $smwgMainCacheType = CACHE_REDIS;
$wgJobTypeConf['default'] = [
'class' => 'JobQueueRedis',
'redisServer' => '127.0.0.1:6379',
'redisConfig' => [],
'daemonized' => true
];
# 验证 redis 正常工作的方法三选一即可
# 验证 redis 正常工作方法一
# 把以下写入 test.php 并打开,能看到 Hello, Redis! 返回
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// 设置一个键值对
$redis->set('test_key', 'Hello, Redis!');
// 获取并输出该键的值
echo $redis->get('test_key');
?>
# 验证 redis 正常工作方法二
# 在需要验证的页面用 ?action=purge 删掉缓存
# 用 <code>redis-cli</code> 进入 redis 环境
KEYS * # 能看到一堆该 mediawiki 数据库相关的输出
# 验证 redis 正常工作方法三
# 在 LocalSettings.php 中加入以下项查看日志
$wgDebugLogGroups['redis'] = '/tmp/redis.log';