在 Ubuntu 上 PHP 运行“慢”的原因很多,通常不是单一问题。下面按常见原因 → 排查方法 → 解决建议来说明。
php -v 很快,但网页慢 → Web 请求没走 PHP-FPMmod_php 或 CGI,而不是 php-fpm✅ 推荐方案:
sudo apt install php-fpm
Nginx 必须走 php-fpm,Apache 建议:
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.2-fpm
PHP 每次都重新编译代码 → 慢
检查:
php -i | grep opcache
开启(Ubuntu):
sudo phpenmod opcache
/etc/php/8.x/fpm/conf.d/10-opcache.ini
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
PHP 或框架中:
gethostbyname如果 DNS 慢,PHP 会卡住
✅ 测试:
time curl https://example.com
✅ 解决:
8.8.8.8)/etc/resolv.conf 配置正确PHP 本身不慢,是 SQL 慢
检查:
SHOW PROCESSLIST;
常见原因:
SELECT *✅ 建议:
EXPLAINUbuntu 上:
www-data 无权限stat() 文件✅ 检查:
ps aux | grep php-fpm
✅ 正确权限:
sudo chown -R www-data:www-data /var/www
检查:
iotop
df -h
内存不够 → 大量 swap
free -h
✅ 解决:
php-fpm 进程数高并发时排队
/etc/php/8.x/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
APP_DEBUG=false
composer install --optimize-autoloader --no-dev
php artisan config:cache
php artisan route:cache
php -v
php -m | grep opcache
ps aux | grep php-fpm
free -h
top
iotop
你可以补充:
我可以直接给你针对性优化配置。