在 Debian 上优化 PHP 内存,通常可以从 PHP 自身配置、Web 服务器、代码层面、系统层面 四个方向入手。下面按实用程度给你一套清晰方案。
memory_limit编辑 PHP 配置文件(根据版本):
# PHP 7.x / 8.x
sudo nano /etc/php/8.1/fpm/php.ini
# 或 cli
sudo nano /etc/php/8.1/cli/php.ini
常见设置:
memory_limit = 128M
⚠️ 不要盲目设成 -1(无限制),容易拖垮服务器。
Debian 默认 Apache 可用 mod_php 或 php-fpm,FPM 更省内存。
sudo apt install php-fpm
优化 FPM 进程:
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
关键参数:
pm = dynamic
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
内存估算:
max_children × 单进程内存 ≈ 总内存占用
例如:
sudo apt install nginx php-fpm
Nginx 本身比 Apache 轻很多。
event MPMphp-fpmsudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.1-fpm
unset() 大数组function readLargeFile($file) {
$fh = fopen($file, 'r');
while ($line = fgets($fh)) {
yield $line;
}
fclose($fh);
}
php -m
去掉用不到的:
sudo phpdismod xdebug
(生产环境一定关掉 xdebug)
sudo apt install php-opcache
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000
效果:
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
ps -ylC php-fpm --sort:rss
free -h
htop
✅ Debian + Nginx + PHP-FPM + OPcache
✅ memory_limit 128M
✅ pm.max_children 控制合理
✅ 关 xdebug
如果你愿意,可以告诉我:
我可以给你一套精确配置。