优化 Ubuntu 上的 PHP 可以从版本选择、配置调优、OPcache、FPM 参数、系统资源、扩展与监控等多个方面入手。下面给你一套实用、可落地的优化方案,适用于生产环境(Laravel / ThinkPHP / WordPress 等)。
✅ 推荐使用 PHP 8.1 / 8.2 / 8.3(当前最新稳定)
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2 php8.2-fpm php8.2-cli
新版本在性能、JIT、类型系统上优于 7.x
✅ Nginx + PHP-FPM 是标准组合
sudo systemctl status php8.2-fpm
确认运行:
ps aux | grep php-fpm
sudo nano /etc/php/8.2/fpm/php.ini
memory_limit = 256M
max_execution_time = 60
upload_max_filesize = 64M
post_max_size = 64M
max_input_time = 60
sudo apt install php8.2-opcache
编辑:
/etc/php/8.2/fpm/conf.d/10-opcache.ini
推荐配置:
opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=32
opcache.max_accelerated_files=50000
opcache.validate_timestamps=0 # 生产环境关闭
opcache.revalidate_freq=0
opcache.jit_buffer_size=128M
opcache.jit=1255
✅ 可提升 2~5 倍性能
/etc/php/8.2/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500
max_children ≈ 可用内存 / 每个 PHP 进程内存
例如:
ps -ylC php-fpm8.2 --sort:rss
减少内存和加载时间
php -m
禁用不用的扩展:
sudo phpdismod json xdebug
⚠️ 生产环境不要开启 xdebug
ulimit -n
编辑:
sudo nano /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
fastcgi_read_timeout 300;
JIT 对 CPU 密集型程序有效(如大量计算)
已在 OPcache 中启用:
opcache.jit=1255
opcache.jit_buffer_size=128M
sudo nano /etc/php/8.2/fpm/pool.d/www.conf
启用:
pm.status_path = /status
ab -n 1000 -c 50 http://example.com/
你可以告诉我:
我可以 直接给你一套“定制版 PHP 优化参数” ✅