ubuntu

如何提升Ubuntu上PHP执行速度

小樊
45
2025-09-25 07:35:18
栏目: 编程语言

1. 安装并启用OPcache扩展
OPcache是PHP内置的字节码缓存扩展,可显著减少脚本编译时间,提升重复请求的执行效率。安装命令(以Ubuntu 22.04+为例):

sudo apt update && sudo apt install php-opcache

编辑php.ini(路径可通过php --ini查看,如/etc/php/8.2/fpm/php.ini),添加或修改以下配置:

[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128  # 缓存内存大小(MB),根据服务器内存调整
opcache.max_accelerated_files=10000  # 缓存文件数量上限
opcache.revalidate_freq=2  # 脚本修改后重新验证频率(秒)
opcache.fast_shutdown=1  # 快速关闭机制,提升内存回收效率

重启PHP服务(如使用PHP-FPM):

sudo systemctl restart php8.2-fpm

2. 使用最新稳定版PHP
新版本PHP通常包含性能优化(如JIT编译器、引擎改进)和安全修复。通过Ondrej Sur的PPA添加最新版PHP仓库:

sudo add-apt-repository ppa:ondrej/php
sudo apt update

安装指定版本(如PHP 8.2):

sudo apt install php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-curl

切换Web服务器(如Nginx/Apache)的PHP模块至新版本,并重启服务。

3. 优化PHP-FPM进程配置
PHP-FPM(FastCGI进程管理器)比传统mod_php更高效,需根据服务器资源调整进程参数(以/etc/php/8.2/fpm/pool.d/www.conf为例):

调整后重启PHP-FPM:

sudo systemctl restart php8.2-fpm

4. 配置缓存技术(Redis/Memcached)
使用Redis或Memcached缓存频繁访问的数据库查询结果、会话数据或页面片段,减少数据库负载。以Redis为例:

sudo apt install php-redis redis-server

编辑php.ini启用扩展:

extension=redis.so

重启PHP服务后,在代码中使用Redis缓存(示例):

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$key = 'cached_data_key';
if ($data = $redis->get($key)) {
    echo $data;  // 使用缓存数据
} else {
    $data = fetchDataFromDB();  // 从数据库获取数据
    $redis->setex($key, 3600, $data);  // 缓存1小时
    echo $data;
}

5. 优化数据库交互

6. 代码级性能优化

7. 监控与调优

8. 其他优化建议

0
看了该问题的人还看了