温馨提示×

Ubuntu怎样配置PHP缓存

小樊
39
2026-07-28 04:08:18
栏目: 编程语言

在 Ubuntu 上配置 PHP 缓存,通常包括 OPcache(字节码缓存) 和可选的 用户缓存(如 APCu)。下面按常见场景一步步说明。


一、配置 OPcache(✅ 强烈推荐)

OPcache 是 PHP 官方内置的字节码缓存,能显著提升 PHP 性能。

1. 安装 PHP OPcache

大多数情况下已经随 PHP 一起安装。

# 以 PHP 8.2 为例
sudo apt update
sudo apt install php8.2-opcache

如果你不确定 PHP 版本:

php -v

2. 启用 OPcache

通常已自动启用,可检查:

php -i | grep opcache.enable

若未启用,编辑 PHP 配置文件:

sudo nano /etc/php/8.2/fpm/php.ini
# 或 Apache 用:
# /etc/php/8.2/apache2/php.ini

添加或修改:

opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=0
opcache.validate_timestamps=0   # 生产环境建议 0

3. 重启 PHP 服务

PHP-FPM

sudo systemctl restart php8.2-fpm

Apache

sudo systemctl restart apache2

4. 验证 OPcache 是否生效

php -i | grep opcache

或使用:

php -r "print_r(opcache_get_status());"

二、配置 APCu(用户缓存,可选)

APCu 适合缓存 PHP 变量(如配置、临时数据)。

1. 安装 APCu

sudo apt install php8.2-apcu

2. 启用 APCu

sudo nano /etc/php/8.2/fpm/conf.d/20-apcu.ini

确保内容如下:

extension=apcu.so
apcu.enable=1
apcu.shm_size=32M

3. 重启 PHP

sudo systemctl restart php8.2-fpm

4. 测试 APCu

<?php
apcu_store('foo', 'bar');
echo apcu_fetch('foo');

三、Nginx / Apache 相关说明

✅ Nginx + PHP-FPM(推荐)

缓存主要在 PHP 层,无需额外配置 Nginx。


✅ Apache

  • 使用 mod_phpphp-fpm
  • OPcache 仍然有效

四、生产环境建议配置(示例)

opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0
opcache.revalidate_freq=0

⚠️ validate_timestamps=0 时,修改 PHP 文件后必须重启 PHP-FPM。


五、常见问题

1️⃣ 修改代码后不生效?

  • 开启了 validate_timestamps=0
  • 解决:重启 PHP-FPM

2️⃣ 如何查看缓存命中率?


六、总结

缓存类型 是否必须 作用
OPcache ✅ 必须 提升 PHP 执行速度
APCu ❌ 可选 缓存 PHP 变量
Redis / Memcached ❌ 可选 分布式缓存

如果你愿意,可以告诉我:

  • ✅ Ubuntu 版本
  • ✅ PHP 版本
  • ✅ Web 服务器(Nginx / Apache)
  • ✅ 是本地开发还是生产环境

我可以给你一套完全贴合你环境的配置方案

0