
Amazon Linux 2のelastic beanstalk phpにはfreetype 2.3.11が付属していますが、私のプロジェクトではフォントが正しくレンダリングされないため、freetype 2.10.1をダウンロードし、harfbuzzの有無に応じてビルドしました。http://www.linuxfromscratch.org/blfs/view/svn/general/freetype2.html次に、php gd拡張機能を次のようにコンパイルしました。
cd php-7.2.19/ext/gd
phpize
./configure --with-php-config=/usr/bin/php-config --with-gd --with-freetype-dir=/usr --with-png-dir=/usr --with-xpm-dir=/usr --with-webp-dir=/usr
make
sudo cp modules/gd.so /usr/lib64/php/7.2/modules/
しかし、php -v を実行すると、「PHP 警告: PHP 起動: 動的ライブラリ 'gd.so' をロードできません (試行: /usr/lib64/php/7.2/modules/gd.so (/usr/lib64/php/7.2/modules/gd.so: 未定義のシンボル: php_gd_gdImageJpegCtx)、/usr/lib64/php/7.2/modules/gd.so.so (/usr/lib64/php/7.2/modules/gd.so.so: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません)) 行 0 の不明な場所」というメッセージが表示されます。
答え1
configure コマンドに --with-jpeg-dir=/usr がありませんでした。何かが間違っているとコンパイルされないと思っていましたが、そうではないようです。今は動作します。
$ php -i | grep -i "freetype"
FreeType Support => enabled
FreeType Linkage => with freetype
FreeType Version => 2.10.1