腾讯云函数支持Laravel一键部署:模板创建5分钟内上线,自定义部署需改造storage路径、session驱动为array、缓存与视图路径指向/tmp,并配置scf_bootstrap启动文件及755权限。

想把本地开发好的 Laravel 项目一键推到线上,不用配服务器、不碰 Nginx、不调 PHP-FPM,也不用担心 storage 权限或 session 写入失败——腾讯云函数提供 Web 类型模板,直接生成可访问的 URL,整个过程不到三分钟。
模板部署:零配置上线 Laravel
登录 Serverless 控制台 → 左侧点击「函数服务」→ 顶部选择地域(如广州)和命名空间 → 点击「新建」→ 选择「模板创建」→ 在搜索框输入 WebFunc → 找到「Laravel 框架模板」→ 点击「下一步」。
在新建页面中,系统已预置 Laravel 运行所需的所有环境变量和启动逻辑,无需修改任何代码;但请务必确认「内存大小」设置为 512 MB 或以上,否则 artisan serve 启动会因资源不足而超时退出。
核对无误后点击「完成」,函数自动创建并部署。几秒后进入「函数管理」列表,找到刚创建的函数,点击其名称进入详情页。
左侧菜单栏点击「触发管理」→ 找到「HTTP 触发器」→ 复制「访问路径 URL」→ 直接粘贴到浏览器地址栏回车,即可看到 Laravel 默认欢迎页。
自定义部署:迁移已有本地项目
若你已有本地 Laravel 项目(如 blog 目录),需做三项关键改造才能适配云函数运行环境:
方法一:注入 /tmp 存储路径
编辑项目根目录下的 bootstrap/app.php,在 $app = new Illuminate\Foundation\Application(...) 之后插入一行:$app->useStoragePath($_ENV['APP_STORAGE'] ?? $app->storagePath());
方法二:强制使用数组型 Session 驱动
打开 .env 文件,将 SESSION_DRIVER=file 改为 SESSION_DRIVER=array;【这一步不可跳过】 否则云函数冷启动时 session 写入 /var/task/storage 会因权限拒绝而报错 500。
方法三:替换缓存与视图路径
修改 config/cache.php 中 file 驱动的 'path' 值为 /tmp/storage/framework/cache/data;
修改 config/view.php 中 'compiled' 路径为 /tmp/storage/framework/views。
启动文件:scf_bootstrap 必须可执行
在项目根目录新建文件 scf_bootstrap,内容如下:
#!/bin/bash<br>export SERVERLESS=1<br>export APP_STORAGE=/tmp/storage<br>export VIEW_COMPILED_PATH=/tmp/storage/framework/views<br>export SESSION_DRIVER=array<br>export LOG_CHANNEL=stderr<br>mkdir -p /tmp/storage/framework/{cache,views,sessions,logs}<br>/var/lang/php7/bin/php artisan serve --host 0.0.0.0 --port 9000
保存后立即执行:chmod 755 scf_bootstrap —— 【权限必须是 755 或 777,否则函数启动失败】。
最后,在函数创建时选择「代码包上传」,将整个项目(含 scf_bootstrap、vendor、.env 等)压缩为 ZIP 包上传;注意在「高级设置」中指定「入口文件」为 scf_bootstrap,运行时选择 Php7,内存选 512 MB。


















