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 с freetype
support, в которой объясняется наблюдаемый результат: https://github.com/brefphp/bref/issues/497.
GD
нужно знать о freetype
поскольку он скомпилирован в PHP
, поэтому я сомневаюсь, что вы сможете включить его в composer