ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 阿里云函数计算-部署laravel项目 ## 创建服务函数以及配置 重点是 nas文件系统 用户 用户组 必须填 不能为 -1 ![](https://img.kancloud.cn/2d/1a/2d1a9b0b5d8a560452e7a559676b8243_1361x840.png) ## 配置一下自定义域名 ![](https://img.kancloud.cn/24/63/24636b6965c4a61b6d0ad11cc4bd8375_1185x933.png) ## 写到函数计算的laravel 入口函数 函数是 run 那就把代码放进去 ```php <?php use RingCentral\Psr7\Response; function endsWith($haystack, $needle) { $length = strlen($needle); return $length === 0 || (substr($haystack, -$length) === $needle); } function handler($request, $context): Response{ $uri = $request->getAttribute("requestURI"); $uriArr = explode("?", $uri); // default php / or /wp-admin/ if (preg_match('#/$#', $uriArr[0]) && !(strpos($uri, '.php'))) { $uriArr[0] .= "index.php"; $uri = implode($uriArr); } $proxy = $GLOBALS['fcPhpCgiProxy']; $root_dir = '/mnt/www'; //这里是你上传代码的路径 //php script if (preg_match('#\.php.*#', $uri)) { $host = "fcdemo.mofangdegisn.cn"; // 这里填你的自定义域名 $resp = $proxy->requestPhpCgi($request, $root_dir, "index.php", ['HTTP_HOST' => $host, 'SERVER_NAME' => $host, 'SERVER_PORT' => '80'], ['debug_show_cgi_params' => false, 'readWriteTimeout' => 60000] ); return $resp; } else { // static files, js, css, jpg ... $filename = $root_dir . explode("?", $uri)[0]; $filename = rawurldecode($filename); $handle = fopen($filename, "r"); $contents = fread($handle, filesize($filename)); fclose($handle); $headers = [ 'Content-Type' => $proxy->getMimeType($filename), 'Cache-Control' => "max-age=8640000", 'Accept-Ranges' => 'bytes', ]; return new Response(200, $headers, $contents); } } ``` ## 上传代码 vscode 安装好插件以后把代码拉回来 就会有nas:///mnt/blog了 点击`nas:///mnt/blog` 后面的云图标 他就会上传代码 ![](https://img.kancloud.cn/92/18/9218e36f23c705f58ed5606e10a12481_722x1660.png) 项目里面执行以下 `fun nas info` ``` fun nas info using template: template.yml Local NAS folder of service ll includes: /Desktop/testyunphp/.fun/nas/xxx.nas.aliyuncs.com/ ``` 打开这个目录把代码放进去 ![](https://img.kancloud.cn/df/87/df87d4aabdc05499a27cf99d52dfc921_1258x1014.png) 然后你就可以点击 nas 后面云的图标了 他执行了 ``` ~/.aliyun-serverless/bin/fun.sh nas sync -s ll -m /mnt/blog ✔ upload done unzipping file :unzipping █████████████████████ 6134/6382 368 files/s, 96% 16.7 s✔ unzip done ✔ upload completed! ``` 然后就可以看到成功的信息了 再点这个这个云的图标把函数上传到函数计算上 ![](https://img.kancloud.cn/8f/02/8f02ce1fb1150c370ea5d8008347e10d_702x360.png) # 大功告成 第一次访问用了7秒 后面500ms 还挺快的~ ![](https://img.kancloud.cn/bc/f9/bcf9c6c962f0597400298f5d85317aaa_2348x1224.png)