在 CentOS 上运行 Laravel 慢,通常不是单一原因,而是环境配置 + Laravel 本身机制共同导致的。下面按「最常见 → 高级优化」给你一套排查和优化清单。
先确认是真的慢还是首次访问慢:
php artisan route:list
php artisan config:clear
如果:
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan optimize
⚠️ 修改配置后记得重新 cache
CentOS 上很多人没开 OPcache,Laravel 会慢 3–5 倍。
php -m | grep opcache
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.validate_timestamps=0 ; 生产环境
重启 PHP:
systemctl restart php-fpm
如果是 Apache,建议换 Nginx。
vim /etc/php-fpm.d/www.conf
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
DB::enableQueryLog();
// 你的代码
dd(DB::getQueryLog());
常见慢点:
whereorder byjoin 字段.env
APP_DEBUG=false
chown -R nginx:nginx storage bootstrap/cache
chmod -R 775 storage
临时测试:
setenforce 0
如果变快了:
setsebool -P httpd_read_user_content 1
composer install --optimize-autoloader --no-dev
composer dump-autoload -o
.env
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
composer require laravel/octane
php artisan octane:install
⚠️ 需要 Swoole / RoadRunner
你可以补充:
我可以直接给你针对性配置。