我打算使用无服务器php函数来生成具有TrueType字体的图像。为此,我选择了bref和Serverless框架以及composer。
[要处理图像并包含文本,我正在使用imagettftext
库中的gd
函数。我运行php -S localhost:8000 index.php
用于本地测试。它工作正常,我得到了我期望的输出图像。
因此我先运行composer install --optimize-autoloader --no-dev
,然后运行serverless deploy
创建一个AWS Lamda函数。但是,当我调用已部署函数的端点时,它显示了Slim Application Error-没有任何详细信息:
发生网站错误。不便之处,敬请原谅。
所以我查看了AWS Cloudwatch日志,发现了此错误消息:
消息:调用未定义的函数imagettftext()
搜索此错误后,我发现它通常与gd
库丢失有关。然后,我将本地测试中的phpinfo()
与部署功能中的进行了比较。两者都安装了gd
,不同之处在于本地计算机已启用FreeType Support
。
您能帮我找到一种方法来也为无服务器功能启用此FreeType Support
吗?是否可以通过composer.json
要求此支持?
[目前,有关在freetype
支持下编译PHP的问题在GitHub上存在,这说明了您看到的结果:https://github.com/brefphp/bref/issues/497。
[GD
需要了解freetype
,因为它已被编译为PHP
,所以我怀疑您能否将其包含在composer
中