在 Ubuntu 上优化 PHP 性能,通常可以从 PHP 版本、OPcache、PHP-FPM、代码与扩展、系统层面 几个方面入手。下面给你一套实用、可落地的提速方案。
老版本 PHP 性能差很多。
sudo apt update
sudo apt install php php-cli php-fpm
推荐:
查看版本:
php -v
OPcache 能把 PHP 脚本编译结果缓存起来,速度提升非常明显。
sudo apt install php-opcache
编辑:
sudo nano /etc/php/8.x/fpm/php.ini
建议配置:
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.validate_timestamps=0 ; 生产环境建议关闭
重启:
sudo systemctl restart php8.x-fpm
如果你用 Nginx / Apache,PHP-FPM 是标配。
编辑:
sudo nano /etc/php/8.x/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 = static
pm.max_children = 100
扩展越多,加载越慢。
查看已加载扩展:
php -m
禁用不用的(如:
xdebug(仅开发用)mailparse(不用邮件解析可关)sudo phpdismod xdebug
sudo systemctl restart php8.x-fpm
推荐:
Nginx 示例:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.x-fpm.sock;
}
Nginx 示例:
gzip on;
gzip_types text/css application/javascript;
适合数据库频繁查询的站点。
sudo apt install redis-server php-redis
在代码中缓存查询结果,速度提升巨大。
requireComposer 的 classmap 优化:composer dump-autoload -o
ulimitopcache.preload(PHP 7.4+)php -i | grep opcache
或访问 phpinfo() 页面查看 OPcache 状态。
如果你告诉我:
我可以给你针对性更强的配置示例。