Пакет php-mcrypt отсутствует в yum на AWS AMI

Похоже, что новые версии Amazon AMI на EC2 не имеют пакета php-mcrypt. Как мне это получить?

$ sudo yum install php-mcrypt
Loaded plugins: langpacks, priorities, update-motd
amzn2-core
No package php-mcrypt available.
Error: Nothing to do

В общем, как мне решить, как решить проблемы с "отсутствующими пакетами", как это?

3 ответа

Я смог установить php-mcrypt следуя предложению на этой странице, используя EPEL для EL 7 в AWS выпуск 2.0 (2017.12) Linux.

Это экземпляр Amazon под управлением Amazon Linux 2 (2017.12), который я протестировал с...

# cat /etc/system-release
Amazon Linux release 2.0 (2017.12) LTS Release Candidate
# curl http://169.254.169.254/latest/meta-data/ami-id
ami-428aa838

Специалисты Amazon утверждают, что дистрибутив AWS не основан конкретно на какой-либо версии RedHat, поэтому нет гарантии совместимости, но сравнение версий пакетов PHP в EPEL для Enterprise linux 7 и версий Amazon позволяет предположить, что они создают из того же источника;

например, номера сборки точно такие же Version : 5.4.16 на пакетах от amzn2-core а также epel

Name        : php-mcrypt
Version     : 5.4.16
Release     : 7.el7
From repo   : epel

против

Name        : php
Version     : 5.4.16
Release     : 43.amzn2.0.1
From repo   : amzn2-core

Поэтому я не удивлен, что пакет от epel, установленный на AWS AMI 2017.12, не проблема...

# yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
...
  Installing : epel-release-7-11.noarch        1/1
  Verifying  : epel-release-7-11.noarch        1/1

Installed:
  epel-release.noarch 0:7-11

Complete!

а затем установлен php-mcrypt;

# yum install -y --enablerepo=epel php-mcrypt
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libmcrypt-2.5.8-13.el7.x86_64      1/2 
  Installing : php-mcrypt-5.4.16-7.el7.x86_64     2/2 
  Verifying  : libmcrypt-2.5.8-13.el7.x86_64      1/2 
  Verifying  : php-mcrypt-5.4.16-7.el7.x86_64     2/2 

Installed:
  php-mcrypt.x86_64 0:5.4.16-7.el7                                                                                                    

Dependency Installed:
  libmcrypt.x86_64 0:2.5.8-13.el7                                                                                                     

Complete!

а затем вы можете проверить, что расширения mcrypt установлены следующим образом;

# php -i "(command-line 'phpinfo()')" | grep mcrypt
/etc/php.d/mcrypt.ini,
Registered Stream Filters => zlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, mcrypt.*, mdecrypt.*
mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value

Я также отключил epel, так как не хочу, чтобы в обоих репозиториях было множество пакетов сверх минимума;

yum-config-manager --disablerepo=epel



# yum repolist all
Loaded plugins: langpacks, priorities, update-motd
repo id                      repo name                                                                  status
amzn2-core/2017.12/x86_64    Amazon Linux 2 core       enabled: 7,157
epel/x86_64                  Extra Packages            disabled

Я много искал и заставил это работать.

Попробуй это.

# amazon-linux-extras install epel
# yum install php-mcrypt

Нашел еще более простое решение. Просто беги:

      yum install php-pecl-mcrypt

Это работает для PHP 7.3 и Amazon Linux 2.

Другие вопросы по тегам