温馨提示×

为什么debian运行laravel慢

小樊
35
2026-09-29 09:38:39
栏目: 智能运维

Debian 上运行 Laravel 感觉“慢”,通常不是 Debian 本身的问题,而是环境配置、PHP 设置或 Laravel 使用方式导致的。下面按常见原因 → 解决方式给你一个系统排查清单。


一、最常见原因(80% 的情况)

1. PHP 没有开启 OPcache

Laravel 是 PHP 框架,没有 OPcache 会非常慢。

检查:

php -m | grep opcache

如果没有,安装并开启:

sudo apt install php-opcache

编辑 php.ini(示例路径):

sudo nano /etc/php/8.2/cli/php.ini
sudo nano /etc/php/8.2/fpm/php.ini

添加/修改:

opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60

重启:

sudo systemctl restart php8.2-fpm

✅ 开启后通常速度提升 3–10 倍


2. 使用了 php artisan serve(开发服务器)

php artisan serve

这是单进程、阻塞式,只适合本地测试。

✅ 生产/正式环境应使用:

  • Nginx + PHP-FPM
  • Apache + PHP-FPM

3. 调试模式没关(APP_DEBUG=true)

APP_DEBUG=true

会导致:

  • 大量日志
  • 视图重复编译
  • 异常堆栈开销

✅ 生产环境:

APP_DEBUG=false

二、Laravel 自身配置问题

4. 没有配置缓存(非常关键)

每次请求都读取配置、路由、视图,会非常慢。

执行:

php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan event:cache

⚠️ 修改代码后记得清缓存:

php artisan optimize:clear

5. Composer 没优化 autoload

composer install --optimize-autoloader --no-dev

或:

composer dump-autoload -o

三、Debian 系统层面原因

6. 使用 HDD 而非 SSD

Laravel 大量小文件读取:

  • vendor
  • bootstrap/cache
  • storage

✅ 使用 SSD 或 tmpfs


7. 文件权限导致反复失败重试

错误权限会导致:

  • 日志无法写入
  • 缓存无法生成

正确示例:

sudo chown -R www-data:www-data /var/www/laravel
sudo chmod -R 755 /var/www/laravel
sudo chmod -R 775 storage bootstrap/cache

8. 系统缺少必要扩展

Laravel 推荐:

php-mbstring
php-xml
php-curl
php-zip
php-bcmath
php-gd

安装:

sudo apt install php-mbstring php-xml php-curl php-zip php-bcmath php-gd

四、数据库 & 外部服务问题

9. 数据库查询慢

  • 没有索引
  • N+1 查询

检查:

php artisan telescope
# 或
DB::enableQueryLog();

✅ 使用:

with()
load()

10. 使用外部 API 但未缓存

如:

  • 邮件
  • 支付
  • 第三方接口

✅ 使用 Laravel Cache


五、资源 & 硬件问题

项目 建议
CPU ≥ 2 核
内存 ≥ 2GB
Swap 有
PHP 版本 ≥ 8.1

六、快速自检清单 ✅

php -v
php -m | grep opcache
php artisan --version
free -h
top

七、如果你愿意,我可以进一步帮你

你可以告诉我:

  1. Debian 版本(11 / 12?)
  2. PHP 版本
  3. Web 服务器(Nginx / Apache?)
  4. 是本地还是服务器?
  5. 慢在页面加载还是命令行?

我可以直接给你一份最优 Debian + Laravel 配置方案。

0 踩