PHP Serverless Slim не может выполнить imagettftext

Я намерен использовать бессерверную функцию php для создания изображения со шрифтами TrueType. Для того, чтобы сделать это, я выбрал СНДТ с бессерверными рамками и композитором.

Чтобы обработать изображение и включить текст, я использую imagettftext функция от gdбиблиотека. Я побежалphp -S localhost:8000 index.phpдля целей местного тестирования. Он работал нормально, я получил изображение на выходе, как я и ожидал.

Таким образом я побежал composer install --optimize-autoloader --no-dev а потом serverless deployдля создания функции AWS Lamda. Однако, когда я вызвал конечную точку развернутой функции, она показала ошибку Slim Application - без каких-либо подробностей:

Произошла ошибка веб-сайта. Приносим извинения за временные неудобства.

Я просмотрел журналы AWS Cloudwatch и обнаружил следующее сообщение об ошибке:

Сообщение: вызов неопределенной функции imagettftext()

В поисках этой ошибки я обнаружил, что она часто связана с gdбиблиотека отсутствует. Затем я сравнилphpinfo()от локального теста к тесту из развернутой функции. Как естьgd установлен, разница в том, что на локальном FreeType Support включен.

Не могли бы вы помочь мне найти способ включить это FreeType Supportтакже для бессерверной функции? Можно ли запросить эту поддержку черезcomposer.json?

1 ответ

На данный момент на GitHub есть проблема, связанная с компиляцией PHP с freetypesupport, в которой объясняется наблюдаемый результат: https://github.com/brefphp/bref/issues/497.

GD нужно знать о freetype поскольку он скомпилирован в PHP, поэтому я сомневаюсь, что вы сможете включить его в composer

Другие вопросы по тегам