在 CentOS 上运行 Laravel 变慢,通常不是单一原因,而是系统环境 + PHP 配置 + Laravel 自身 + 资源瓶颈共同作用的结果。下面按常见原因 → 排查方法 → 解决建议来总结。
Laravel 依赖大量 PHP 文件,没有 OPcache 会非常慢。
检查:
php -m | grep opcache
解决:
yum install php-opcache
php.ini 中:
opcache.enable=1
opcache.memory_consumption=128
opcache.revalidate_freq=60
重启 PHP:
systemctl restart php-fpm
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan optimize
php artisan serve 或 Apache(慢)php artisan serve 只适合开发✅ 推荐:
getenforce
如果是 Enforcing,可能拖慢 IO。
临时测试:
setenforce 0
如果变快,说明是 SELinux 问题(不要长期关闭,需配置策略)。
Laravel 或 PHP 在做:
gethostbyname会卡在 DNS。
测试:
ping example.com
慢的话:
/etc/resolv.confiostat -x 1
解决:
storage/logs.env:
APP_DEBUG=true
❌ 生产环境必须:
APP_DEBUG=false
php artisan route:list
用:
with()
load()
✅ 建议:
ps aux | grep php-fpm
www.conf:
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
php -m | grep opcache
php artisan config:cache
getenforce
iostat -x 1
php artisan route:list
你可以贴出:
top / htop 截图我可以直接告诉你是哪一块拖慢的。