在 Ubuntu 上 PHP 运行“慢”通常不是单一原因,而是环境配置、代码、系统资源或外部依赖共同导致的。下面按最常见 → 较少见的顺序帮你系统排查。
如果你用的是 Apache + mod_php 或 PHP-CGI,性能通常不如 PHP-FPM。
✅ 推荐:
检查:
php -v
ps aux | grep php-fpm
默认配置在低并发下就会卡。
查看:
/etc/php/*/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
如果 max_children 太小,请求会排队。
没开 OPcache 的 PHP 会慢 2–5 倍
检查:
php -m | grep opcache
开启:
; /etc/php/*/fpm/php.ini
opcache.enable=1
opcache.memory_consumption=128
opcache.revalidate_freq=60
重启:
systemctl restart php*-fpm
Ubuntu 云服务器(尤其是低配):
检查:
iostat -x 1
建议:
file_exists / require_once老框架(CI / 老 Laravel)容易这样。
工具:
php -d xdebug.profiler_enable=1
或:
常见误判:PHP 慢 = 实际 SQL 慢
检查:
slow query log
EXPLAIN SELECT ...
file_get_contents("https://api.xxx.com");
没超时控制会直接卡死。
✅ 使用:
PHP 或 DB 连接时做反向 DNS。
解决:
; php.ini
dns.get_record_cache=1
或:
/etc/hosts
127.0.0.1 localhost
free -h
top
常见问题:
PHP 5.6 / 7.0 明显慢。
✅ 推荐:
php -v
php -m | grep opcache
systemctl status php*-fpm
iostat -x 1
你可以告诉我:
我可以直接给你针对性配置方案。