在 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