Debian 上 PHP “很慢”通常不是 PHP 本身的问题,而是运行方式、配置、扩展或系统环境导致的。下面按最常见原因 → 排查方法 → 解决建议来说明。
mod_php 而不是 PHP-FPM很多 Debian 默认 Apache 装的是 libapache2-mod-php,而不是 PHP-FPM。
问题:
解决:
apt install php-fpm
a2dismod phpX.X
a2enmod proxy_fcgi setenvif
a2enconf phpX.X-fpm
systemctl restart apache2
默认 pm = dynamic,但 pm.max_children 很小。
表现:
排查:
systemctl status phpX.X-fpm
调优(示例):
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
Debian 默认 可能没启用 OPcache。
检查:
php -i | grep opcache
解决:
apt install php-opcache
php.ini:
opcache.enable=1
opcache.memory_consumption=128
opcache.revalidate_freq=60
PHP 中一旦用到:
gethostbyname()mail()如果 DNS 慢,PHP 会卡很久。
解决:
127.0.0.1 而不是 localhost/etc/resolv.conf优化:
session.save_handler = redis
或
mount tmpfs /var/lib/php/sessions
检查:
phpinfo();
看:
display_errorsxdebug强烈建议:
php -m | grep xdebug
解决:
a2dismod xdebug
或
xdebug.mode=off
某些情况下:
查看:
journalctl -u phpX.X-fpm
你可以挨个看:
php -v
php -m
php -i | grep opcache
systemctl status php*-fpm
apachectl -M | grep php
Debian PHP 慢,90% 是因为:没用 PHP-FPM + 没开 OPcache + 配置保守 + DNS/IO 问题
如果你愿意,可以告诉我:
我可以直接帮你给一套最优配置。