установить расширение php-gd в Debian

Я не могу установить расширение php-gd на свой сервер.

У меня есть php 7.2:

PHP 7.2.10-1+0~20181001133426.7+jessie~1.gbpb6e829 (cli) (built: Oct  1 2018 13:50:53) ( NTS )

и дебиан 8 линукс:

Debian GNU/Linux 8

команда для установки расширения GD:

sudo apt-get install php7.2-gd

и результат:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libc-ares2 libnfsidmap2 libpcre16-3 libpcre32-3 libuuid-perl libv8-3.14.5 php-http-request php-mail-mimedecode php-net-dime php-net-url
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
  php7.2-gd
0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded.
Need to get 27.5 kB of archives.
After this operation, 186 kB of additional disk space will be used.
Get:1 https://packages.sury.org/php/ jessie/main php7.2-gd amd64 7.2.10-1+0~20181001133426.7+jessie~1.gbpb6e829 [27.5 kB]
Err https://packages.sury.org/php/ jessie/main php7.2-gd amd64 7.2.10-1+0~20181001133426.7+jessie~1.gbpb6e829
  HttpError404
E: Failed to fetch https://packages.sury.org/php/pool/main/p/php7.2/php7.2-gd_7.2.10-1+0~20181001133426.7+jessie~1.gbpb6e829_amd64.deb  HttpError404

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

есть идеи, как это исправить, пожалуйста?


person tomasnikl    schedule 23.03.2019    source источник


Ответы (2)


Пакет php-7.2-gd недоступен в репозиториях Debian (пока). Но это не имеет значения, конечно, вы можете установить его в любом случае. Существует отличный веб-сайт DEB.SURY.ORG, который упаковывает различное программное обеспечение в Debian и Ubuntu (особенно пакеты PHP). .

Сначала загрузите ключ в источник пакета:

$ sudo curl -s https://packages.sury.org/php/apt.gpg | sudo apt-key add -

Затем создайте файл .list в /etc/apt/sources.list.d/:

$ echo "deb https://packages.sury.org/php/ buster main" | sudo tee /etc/apt/sources.list.d/php.list

Затем update и upgrade ваш дистрибутив:

$ sudo apt update -y && sudo apt dist-upgrade -y

Теперь вы сможете установить пакет php7.2-gd, запустив:

$ sudo apt install php7.2-gd
person Joey    schedule 24.03.2019
comment
Более портативное исполнение: curl -s https://packages.sury.org/php/apt.gpg | sudo apt-key add - - person viktorkho; 11.02.2020
comment
Не работает с бастером: Package php7.2-gd is not available, but is referred to by another package. - person viktorkho; 11.02.2020
comment
@viktorkho Извините, вы правы. Я обновил свой ответ. ПРИМЕЧАНИЕ. В то время buster было кодовым именем debian-testing, и это было проблемой. Теперь buster стал debian-stable, поэтому приведенный выше ответ должен предоставить возможность установить пакет php7.2-gd. Проверено на Debian Buster (стабильная версия), работает. - person Joey; 17.04.2020

Выполните следующие команды:

apt update
apt upgrade
apt install php7.2-gd

Ошибка «Не удалось загрузить», потому что apt попытается использовать устаревшую базу данных для загрузки/установки старой (удаленной) версии php7.2-gd из репозитория sury.

В 08 марта 2019 г. php7.2-gd_7.2.10-1+0~20181001133426.7+jessie~1.gbpb6e829_amd64.deb обновляется до новая версия php7.2-gd_7.2.16-1+0~20190307202206.17+jessie~1.gbpa7be82_amd64.deb, старая версия удалена, поэтому apt не удается получить информацию о старом пакете.

Репозиторий Ondřej Surý уже настроен правильно, apt не показывает никаких ошибок.

person GAD3R    schedule 26.03.2019