部署laravel前须确认:php≥8.1;启用openssl、mbstring等扩展;web服务器根目录指向public/。

部署前必须确认的三个环境前提
Laravel 跑不起来,八成不是代码问题,而是服务器环境没对齐。别急着上传代码,先盯死这三点:
-
PHP 版本 ≥ 8.1(Laravel 10+ 强制要求,php -v看清楚,别信面板上写的“已安装”) -
OpenSSL、mbstring、tokenizer、xml、curl这几个扩展必须启用(php -m检查,缺一个都可能卡在composer install或路由加载) - Web 服务器(Nginx/Apache)的根目录必须指向
public/,不是项目根目录——这是最常被忽略的 403/404 根源
用 composer install --no-dev --optimize-autoloader 装依赖
本地开发装了 phpunit、pest、laravel/pint 这些?线上全都不需要,不仅浪费磁盘和时间,还可能因 dev 依赖版本冲突导致 autoload_classmap.php 错乱。
- 务必在服务器上运行,而不是把本地
vendor/整个打包传上去(路径硬编码、平台差异会出问题) -
--no-dev剔除开发依赖;--optimize-autoloader生成高效映射,避免每次请求都扫描文件 - 如果提示
Class 'Illuminate\Foundation\Application' not found,大概率是vendor/autoload.php没被正确引入,检查public/index.php第一行是否仍是require __DIR__.'/../vendor/autoload.php';
配置 .env 文件时绕开缓存陷阱
php artisan config:cache 很快,但有个死逻辑:它只读取 .env 一次,之后完全无视该文件。上线后改数据库密码?不重跑缓存就永远连不上。
PHP中文网提供Laravel 13.2.0版本下载,Laravel框架 是基于 PHP 8.3+ 的高性能框架,官方推荐通过 Composer 安装。它内置 AI SDK、JSON:API Resources 及原生向量搜索,支持属性驱动开发与队列路由,大幅提升开发效率。相比旧版,13.2.0 优化了缓存 TTL 管理与实时通信,无需 Redis 即可横向扩展。作为现代 Web 开发首选,它兼顾安全与极速体验,助您快速构建企业级应用。
- 首次部署:先写好
.env→ 运行php artisan config:cache→ 再启动服务 - 后续修改配置:必须重新执行
php artisan config:cache,不能只改.env就以为生效了 - 敏感字段如
APP_KEY必须用php artisan key:generate --show生成并写入.env,手输错一位字符会导致所有加密失败(Session 空、密码重置链接无效)
Nginx 配置里最容易漏掉的两行
用 Laravel 官方 Nginx 示例配置?它默认没开 try_files 的 fallback,也没处理 OPTIONS 预检请求——结果就是 API 跨域 405,前端发不出请求。
- 确保
location /块里有:try_files $uri $uri/ /index.php?$query_string;(缺这句,静态资源 404,路由全 404) - 如果项目含 API 接口,加一段
location ~ ^/api/,里面加上:add_header 'Access-Control-Allow-Origin' '*';和add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE'; - 别忘了
chmod -R 755 storage/ bootstrap/cache/,否则日志写不进storage/logs/,报错只能靠tail -f /var/log/nginx/error.log硬扒
真正的麻烦往往藏在“应该没问题”的地方:比如服务器时区没设成 Asia/Shanghai,导致 Carbon::now() 比真实时间慢 8 小时;又比如 SELinux 处于 enforcing 模式,storage/ 目录死活写不进去——这些不会报明确错误,只会让功能间歇性失灵。










