php -gd установлен, но не работает в centos 7 (версия php 7.3) - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь установить moodle, но он показывает, что php -gd extension отсутствует / должно быть включено. Однако gd уже установлен и является последним, и когда я запускаю команду php -v, я получаю следующую ошибку, как показано ниже.

PHP Warning:  PHP Startup: Unable to load dynamic library 'gd.so' (tried: /usr/lib64/php/modules/gd.so (/lib64/libraqm.so.0: undefined symbol: hb_ft_font_set_load_flags), /usr/lib64/php/modules/gd.so.so (/usr/lib64/php/modules/gd.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP 7.3.17 (cli) (built: Apr 14 2020 08:29:22) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.17, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.17, Copyright (c) 1999-2018, by Zend Technologies

Я много редактировал, но не смог найти ни одного решения. Пожалуйста, помогите

Ответы [ 2 ]

1 голос
/ 31 июля 2020

У меня была такая же проблема:

# php --version
PHP Warning:  PHP Startup: Unable to load dynamic library 'gd' (tried: /usr/lib64/php/modules/gd (/usr/lib64/php/modules/gd: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/gd.so (/lib64/libraqm.so.0: undefined symbol: hb_ft_font_set_load_flags)) in Unknown on line 0
PHP 7.2.32 (cli) (built: Jul  8 2020 07:33:50) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.32, Copyright (c) 1999-2018, by Zend Technologies

Быстрый поиск в Google сказал мне, что hb_ft_font_set_load_flags исходит из HarfBuzz (https://harfbuzz.github.io/harfbuzz-hb-ft.html).

Я установил его с помощью yum install harfbuzz, и после этого предупреждение пропало:

php --version
PHP 7.2.32 (cli) (built: Jul  8 2020 07:33:50) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.32, Copyright (c) 1999-2018, by Zend Technologies
0 голосов
/ 20 июля 2020

Выполнить:

yum install libraqm-devel
[root@* ~]# yum provides '*/libraqm.so*'
Repository epel is listed more than once in the configuration
libraqm-0.7.0-4.el7.x86_64 : Complex Textlayout Library
Repo        : epel
Matched from:
Filename    : /usr/lib64/libraqm.so.0.700.0
Filename    : /usr/lib64/libraqm.so.0



libraqm-devel-0.7.0-4.el7.x86_64 : Complex Textlayout Library
Repo        : epel
Matched from:
Filename    : /usr/lib64/libraqm.so


[root@* ~]# ll /usr/lib64/libraqm.so*
lrwxrwxrwx 1 root root    18 Jul 20 23:20 /usr/lib64/libraqm.so -> libraqm.so.0.700.0
lrwxrwxrwx 1 root root    18 Jul 18 19:00 /usr/lib64/libraqm.so.0 -> libraqm.so.0.700.0
-rwxr-xr-x 1 root root 19792 Jan 11  2020 /usr/lib64/libraqm.so.0.700.0

libraqm.so предоставляется libraqm-devel.

Install libraqm-devel также установит freetype и harfbuzz, которые предоставляют hb_ft_font_set_load_flags.

...