Laravel 在 Debian 上“感觉慢”通常不是 Debian 本身的问题,而是环境配置 + Laravel 运行机制共同导致的。下面按常见原因从高到低说明,并给出排查/优化建议。
Laravel 是 PHP 框架,每次请求都会加载成百上千个 PHP 文件。
没有 OPCache = 每次都重新编译 PHP
检查:
php -m | grep opcache
如果没有,安装并开启:
apt install php-opcache
php.ini 中:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
✅ 开启后通常速度提升 3–10 倍
php artisan serve很多人测试时用:
php artisan serve
这是开发服务器,性能极差。
✅ 正确做法:
Laravel 提供了官方加速命令:
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan optimize
⚠️ 修改配置后记得重新 cache
Debian 默认仓库可能还是 PHP 8.1 / 8.2
查看:
php -v
✅ 推荐:
Laravel 大量读取:
如果磁盘是:
会明显变慢。
排查:
iostat -x 1
Docker + overlayfs 在 Debian 上 IO 很慢
✅ 解决:
tmpfsAPP_DEBUG=true
会:
✅ 生产环境一定要:
APP_DEBUG=false
LOG_LEVEL=debug
✅ 改为:
LOG_LEVEL=error
例如:
✅ 使用:
php artisan queue:work
Laravel 不会自动建索引
✅ 检查慢查询:
SHOW PROCESSLIST;
或开启:
slow_query_log=1
典型:
foreach ($users as $user) {
$user->posts;
}
✅ 使用:
User::with('posts')->get();
php -v
php -m | grep opcache
cat .env | grep APP_DEBUG
php artisan route:cache
Laravel 在 Debian 上慢,99% 是因为:
- 没开 OPCache
- 用 artisan serve
- 没做 Laravel 缓存
- 磁盘 IO 慢
如果你愿意,可以告诉我:
我可以给你一份精准优化方案。