【问题标题】:PHP Serverless Slim can't execute imagettftextPHP Serverless Slim 无法执行 imagettftext
【发布时间】:2020-04-25 10:18:35
【问题描述】:

我打算使用无服务器 php 函数来生成带有 TrueType 字体的图像。为此,我选择了带有 Serverless 框架和 composerbref

为了处理图像并包含文本,我使用了来自gd 库的imagettftext 函数。我运行php -S localhost:8000 index.php 用于本地测试。效果很好,我得到了预期的输出图像。

因此,我运行 composer install --optimize-autoloader --no-dev,然后运行 ​​serverless deploy 来创建 AWS Lamda 函数。但是,当我调用已部署函数的端点时,它显示了 Slim Application Error - 没有任何细节:

发生了网站错误。对暂时的不便深表歉意。

于是我查看了 AWS Cloudwatch 日志,发现了这个错误消息:

消息:调用未定义的函数 imagettftext()

搜索此错误,我发现它通常与缺少gd 库有关。然后我将本地测试中的phpinfo() 与部署功能中的phpinfo() 进行了比较。两者都安装了gd,不同的是本地启用了FreeType Support

你能帮我找到一种方法来启用这个FreeType Support 也用于无服务器功能吗?是否可以通过composer.json 要求此支持?

【问题讨论】:

    标签: php aws-lambda slim serverless bref


    【解决方案1】:

    目前在 GitHub 上存在一个关于使用 freetype 支持编译 PHP 的问题,这解释了您看到的结果:https://github.com/brefphp/bref/issues/497

    GD 需要了解 freetype,因为它已编译为 PHP,所以我怀疑您能否将其包含在 composer

    【讨论】:

      猜你喜欢
      • 2011-10-07
      • 2012-06-16
      • 1970-01-01
      • 1970-01-01
      • 2020-09-11
      • 2016-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多