Ubuntu PHP缓存机制配置指南
一 概览与选型
二 配置步骤
准备:确认 PHP 版本(如 7.4/8.0/8.1/8.2/8.3),后续路径与命令中的 {version} 请替换为实际版本。
sudo apt update && sudo apt install php-opcachesudo nano /etc/php/{version}/fpm/php.inisudo nano /etc/php/{version}/cli/php.ini[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
sudo systemctl restart php{version}-fpmsudo systemctl restart apache2php -i | grep opcache | grep enable(应看到 opcache.enable => On)sudo apt install php-apcu[apcu]
extension=apcu.so
apcu.enable_cli=1
apcu.shm_size=64M
apcu.ttl=7200
php -m | grep apcu 验证。sudo apt install redis-server && sudo systemctl enable --now redis-serversudo apt install php-redisextension=redis.so$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$key = 'my_cache_key';
$data = $redis->get($key);
if ($data === false) {
$data = 'Hello, World!';
$redis->setex($key, 3600, $data); // 1小时
}
echo $data;
sudo apt install memcached && sudo systemctl enable --now memcachedsudo apt install php-memcachedextension=memcached.so$m = new Memcached();
$m->addServer('127.0.0.1', 11211);
$key = 'my_cache_key';
$data = $m->get($key);
if ($data === false) {
$data = 'Hello, World!';
$m->set($key, $data, 3600); // 1小时
}
echo $data;
三 多环境配置与验证
php -i | grep opcache.enable(应为 On)php -m | grep -E 'opcache|apcu|redis|memcached'systemctl is-active php{version}-fpm redis-server memcached四 生产建议与参数调优
opcache.memory_consumption:从 128 MB 起步,视项目体量调至 256 MB 或更高。opcache.max_accelerated_files:建议 10000+,大型项目可提升到 40000。opcache.revalidate_freq:开发环境可设 0/1 便于调试;生产建议 60 秒以平衡性能与更新及时性。