开发者社区 > 云原生 > Serverless > 正文

为什么访问函数计算fc证书异常了?

为什么访问函数计算fc证书异常了?e440cb2d6dd82fccfa81cf76389af725.png
f540180a2b010fb51dfc09ade61ba220.png

展开
收起
三分钟热度的鱼 2024-05-16 08:43:20 36 0
1 条回答
写回答
取消 提交回答
  • 文件格式错误

    Function instance exited unexpectedly(code 8, message:exec format error) with start command '/code/bootstrap '.
    Logs:
    Custom Runtime运行时环境为x86-64架构的Linux,需要保证启动文件兼容该系统环境。如果启动命令为Shell脚本,需要确保文件为Linux格式,并且文件包含Shell的解释行#!。如果启动命令为二进制可执行文件,需要确保该文件为兼容Linux系统的ELF文件格式。具体信息如下。

    启动命令Shell脚本解释行错误

    当Shell脚本缺少首行解释行,或者解释行错误时,实例退出码一般为8 exec format error。因此,需要在文件首行添加正确的解释行。

    如您需要使用Bash运行该脚本,可以在文件首行加上命令#!/usr/bin/env bash或#!/bin/bash,推荐使用#!/usr/bin/env bash。在Custom Runtime系统环境中,/bin/sh默认为/bin/bash,因此,也可以使用命令#!/usr/bin/env sh或#!/bin/sh。

    启动命令Shell脚本为Windows格式

    执行以下测试脚本。

    !/usr/bin/env bash

    node /code/index.js
    报错如下。

    Function instance exited unexpectedly(code 127, message:key has expired) with start command '/code/bootstrap '.
    Logs:/usr/bin/env: ‘bash\r’: No such file or directory
    在错误日志中bash\r表示在bash后面多余一个字符\r。Unix文件换行符为\n,Windows文件换行符为\r\n,因此,该文件是Windows格式。

    如果您的脚本在Windows系统下创建,需要将脚本格式转换为Unix格式。您可以在Linux系统下通过执行命令dos2unix进行转换,或者使用函数计算的WebIDE进行转换。更多信息,请参见如何使用函数计算的WebIDE转换文件格式?。

    启动命令为二进制可执行文件

    如果启动命令为可执行文件,请确保该文件为兼容Linux系统的ELF文件格式。例如,在一台M1芯片的Mac机器上,使用默认配置GOOS=darwin GOARCH=arm64编译Golang代码,然后进行打包上传并测试,报错信息如下所示。

    Function instance exited unexpectedly(code 8, message:exec format error) with start command './main '.
    Logs:
    实例退出码为8 exec format error,表示文件格式错误。需要在编译时添加配置GOOS=linux GOARCH=amd64。

    image.png

    参考文档https://help.aliyun.com/zh/functioncompute/user-guide/troubleshooting?spm=a2c4g.11186623.0.i44

    2024-05-16 09:08:31
    赞同 2 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    Hologres Serverless之路:揭秘弹性计算组 立即下载
    Serverless开发平台: 让研发效能再提升 立即下载
    Serverless 引领云上研发新范式 立即下载