废话不多说
1、拉取一个崭新的Laravel 8
composer create-project --prefer-dist laravel/laravel laravel-func2 \^8.6 # 或者 laravel new laravel/laravel
2、在根目录添加 shell脚本 scf_bootstrap 并设置可执行权限,内容如下
#!/bin/bash ####################################### # 注入 serverless 环境下的环境变量 ####################################### # 注入 SERVERLESS 标识 export SERVERLESS=1 # 修改模板编译缓存路径,云函数只有 /tmp 目录可读写 export VIEW_COMPILED_PATH=/tmp/storage/framework/views # 修改 session 以内存方式(数组类型)存储 export SESSION_DRIVER=array # 日志输出到 stderr export LOG_CHANNEL=stderr # 修改应用存储路径 export APP_STORAGE=/tmp/storage # 初始化模板缓存目录 mkdir -p /tmp/storage/framework/views mkdir -p /tmp/storage/framework/cache mkdir -p /tmp/storage/logs # HTTP 直通函数由于是基于 docker 镜像运行,所以必须监听地址为 0.0.0.0,并且端口为 9000 /var/lang/php74/bin/php -c /var/runtime/php74 -S 0.0.0.0:9000 server.php
3、修改代码 bootstrap/app.php 的44行添加如下内容。(多少行都行,只要$app已经存在)
// server less 运行,重新指定 storage的目录位置 if (env('SERVERLESS') == 1) { $app->useStoragePath(env('APP_STORAGE')); }
4、选用php74环境
5、上传代码
我用zip上传代码,可能是打包的问题,一直显示 scf_bootstrap 不存在于根目录。。蛋疼啊。。。
6、部署
点击部署部署完成
7、调用腾讯给的网址,熟悉的页面出来了