首页主机资讯Ubuntu下PHP配置缓存怎么设置

Ubuntu下PHP配置缓存怎么设置

时间2025-10-16 19:18:04发布访客分类主机资讯浏览1490
导读:Ubuntu下PHP配置缓存的常见方法及步骤 在Ubuntu系统中,PHP缓存主要通过OPcache(内置字节码缓存)、APCu(用户数据缓存)、**Redis/Memcached(分布式内存缓存)**三类方式实现,以下是详细配置指南: 一...

Ubuntu下PHP配置缓存的常见方法及步骤

在Ubuntu系统中,PHP缓存主要通过OPcache(内置字节码缓存)APCu(用户数据缓存)、**Redis/Memcached(分布式内存缓存)**三类方式实现,以下是详细配置指南:

一、OPcache(推荐:PHP内置字节码缓存)

OPcache是PHP 5.5+的内置扩展,用于缓存预编译的字节码,减少脚本加载和解析时间,显著提升PHP执行效率。

1. 安装OPcache

大多数Ubuntu版本的PHP已默认包含OPcache,若未安装可通过以下命令添加:

sudo apt update
sudo apt install php-opcache

2. 配置OPcache

编辑PHP配置文件(根据使用场景选择CLI或FPM配置文件,如PHP 8.1):

sudo nano /etc/php/8.1/cli/php.ini  # 命令行模式
sudo nano /etc/php/8.1/fpm/php.ini  # PHP-FPM模式

在文件中添加/修改[opcache] section(关键参数说明见注释):

[opcache]
zend_extension=opcache.so          # 启用OPcache扩展(必须)
opcache.enable=1                   # 开启字节码缓存
opcache.memory_consumption=128     # 分配给OPcache的内存大小(MB,根据服务器调整)
opcache.interned_strings_buffer=8  # 内部字符串缓冲区大小(MB)
opcache.max_accelerated_files=10000 # 最大缓存文件数(根据项目文件数量调整)
opcache.revalidate_freq=60         # 脚本更新检查间隔(秒,生产环境建议60-300)
opcache.fast_shutdown=1            # 启用快速关闭,减少进程重启时间
opcache.enable_file_override=0     # 禁止覆盖文件缓存(提升安全性)

3. 重启服务

若使用PHP-FPM,重启服务使配置生效:

sudo systemctl restart php8.1-fpm

若使用Apache/Nginx,需重启Web服务器:

sudo systemctl restart apache2  # Apache
sudo systemctl restart nginx    # Nginx

4. 验证配置

创建info.php文件(/var/www/html/info.php),内容为:

<
    ?php phpinfo();
     ?>
    

浏览器访问http://服务器IP/info.php,搜索“opcache”确认以下信息:

  • opcache.enable显示为On
  • 显示OPcache版本及内存使用情况。

二、APCu(用户数据缓存,适合会话/临时数据)

APCu是OPcache的补充,用于缓存用户数据(如数据库查询结果、会话信息),仅适用于当前请求的PHP进程。

1. 安装APCu

sudo apt update
sudo apt install php-apcu

2. 配置APCu

编辑PHP配置文件(同OPcache路径):

[apcu]
extension=apcu.so                  # 启用APCu扩展
apcu.enable_cli=1                  # 允许CLI模式下使用(开发调试需要)
apcu.shm_size=64M                  # 分配的共享内存大小(MB,根据缓存需求调整)
apcu.ttl=3600                      # 缓存项生存时间(秒,默认0=永不过期)
apcu.enable_shm_config=1           # 启用共享内存配置

3. 重启服务

sudo systemctl restart php8.1-fpm
# 若使用Web服务器,需重启Apache/Nginx

4. 验证配置

创建测试脚本apcu_test.php

<
    ?php
$key = 'test_key';
    
$value = apcu_fetch($key);

if ($value === false) {
    
    $value = 'Hello, APCu!';
    
    apcu_store($key, $value, 10);
 // 缓存10秒
}
    
echo $value;
    

访问该脚本,若输出`Hello, APCu!'则表示配置成功。

三、Redis/Memcached(分布式内存缓存,适合大型应用)

Redis和Memcached是高性能的分布式内存缓存系统,适合缓存数据库查询、会话数据等,支持多服务器共享。

1. 安装Redis/Memcached及PHP扩展

Redis

sudo apt update
sudo apt install redis-server php-redis

Memcached

sudo apt update
sudo apt install memcached php-memcached

2. 配置Redis(以Redis为例)

编辑PHP配置文件:

[redis]
extension=redis.so                 # 启用Redis扩展
;
     若需配置Redis服务器地址(默认localhost)
;
     redis.default.host=localhost
;
     redis.default.port=6379
;
     redis.default.password=your_password

3. 重启服务

sudo systemctl restart php8.1-fpm
sudo systemctl restart redis-server  # Redis服务
# 若使用Web服务器,需重启Apache/Nginx

4. 验证配置

创建测试脚本redis_test.php

<
    ?php
$redis = new Redis();
    
$redis->
    connect('127.0.0.1', 6379);
     // 连接Redis服务器
$key = 'cache_key';
    
$value = $redis->
    get($key);

if ($value === false) {
    
    $value = 'Cached data from Redis';
    
    $redis->
    set($key, $value, 60);
 // 缓存60秒
}
    
echo $value;
    

访问脚本,若输出Cached data from Redis则表示配置成功。

注意事项

  • 选择缓存方案:OPcache适合提升PHP脚本执行效率,APCu适合用户数据缓存,Redis/Memcached适合分布式缓存。
  • 参数调整:根据服务器内存大小、项目规模调整缓存内存(如opcache.memory_consumptionapcu.shm_size)。
  • 安全配置:避免将敏感数据存入缓存,Redis建议设置密码(requirepass配置)。
  • 生产环境建议:同时开启OPcache和Redis,兼顾脚本执行效率和数据缓存需求。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu下PHP配置缓存怎么设置
本文地址: https://pptw.com/jishu/728295.html
PHP配置超时Ubuntu怎么调整 如何修改Ubuntu的PHP配置

游客 回复需填写必要信息