微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么使用Vapor部署到生产会失败-无法加载动态库'imagick'

如何解决为什么使用Vapor部署到生产会失败-无法加载动态库'imagick'

我有一个基本的Laravel 7.x应用程序,正在尝试使用Vapor部署到生产环境。当到达部署的Running Deployment Hooks部分时,它将失败并显示以下消息。

An error occurred during deployment.

Message: Deployment hook Failed.

A deployment hook Failed. You may review its logs using the hook:log command.

我检查了日志以获取更多详细信息,这表明imagick存在问题

已加载的Composer自动加载文件准备向其添加机密 运行时准备启动FPM确保准备好启动FPM启动FPM 正在处理... [2020年9月14日00:57:50]注意:PHP消息:PHP警告:PHP 启动:无法加载动态库“ imagick”(尝试: / opt / bin / imagick(/ opt / bin / imagick:无法打开共享对象文件:否 这样的文件或目录),/ opt / bin / imagick.solibmagickWand.so.5: 无法打开共享对象文件:无此类文件或目录)) 在第0行

解决方法

从今天开始,您可以通过导入外部Lambda层为项目添加Imagick支持。此更改减小了默认Vapor运行时层的大小,并使不使用Imagick的客户无需担心AWS Lambda应用程序大小限制就可以上传较大的应用程序。

您可以像这样将其添加到vapor.yml中:

environments:
    staging:
        layers:
          - vapor:php-7.4
          - vapor:php-7.4:imagick

来源:https://blog.laravel.com/vapor-adding-imagick-as-a-separate-lambda-layer

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。