在 Ubuntu 上 PHP 运行慢,通常不是“PHP 本身慢”,而是环境配置、资源、或代码层面的问题。下面按常见原因 → 排查方法 → 解决建议给你梳理一下。
PHP 每次请求都重新编译代码,会非常慢。
检查:
php -m | grep opcache
如果没有:
sudo apt install php-opcache
php.ini 中确保:
opcache.enable=1
opcache.memory_consumption=128
opcache.revalidate_freq=60
重启:
sudo systemctl restart apache2 # 或 php-fpm
php-fpm 但配置不合理如果是 Nginx + PHP-FPM:
ps aux | grep php-fpm
常见问题:
pm.max_children 太小pm = static/dynamic 配错示例优化(4核8G):
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
PHP 中如果有:
mail()gethostbyname()可能会卡在 DNS。
测试:
time php -r "gethostbyname('localhost');"
解决:
/etc/hosts 确保有:127.0.0.1 localhost
特别是:
检查:
iostat -x 1
优化:
Xdebug 会严重拖慢 PHP。
php -m | grep xdebug
如果是生产环境:
sudo phpdismod xdebug
sudo systemctl restart apache2
Laravel / Symfony 等:
composer install --optimize-autoloader --no-dev
php artisan config:cache
php artisan route:cache
Ubuntu 自带可能还是 PHP 7.4 / 8.1
建议:
php -v
升级到 8.2 / 8.3 通常提升明显。
free -h
如果频繁使用 swap:
你可以依次执行:
php -v
php -m | grep opcache
php -m | grep xdebug
free -h
top
你可以告诉我:
我可以直接给你一套针对性优化方案。