EC2上のAmazon AMIの新しいバージョンには、php-mcryptパッケージを使用できないようです。どうすれば入手できますか?
$ Sudo yum install php-mcrypt
Loaded plugins: langpacks, priorities, update-motd
amzn2-core
No package php-mcrypt available.
Error: Nothing to do
一般に、このような「パッケージが見つからない」問題を解決するにはどうすればよいですか?
インストールできましたphp-mcrypt
提案に従います このページ ELにEPELを使用してAWSリリース2.0(2017.12)Linuxに。
これは、私がテストしたAmazon Linux 2(2017.12)を実行しているAmazonインスタンスです...
# 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パッケージのバージョンとAmazonのバージョンを比較すると、同じソースからビルドしていることがわかります。
たとえば、ビルド番号はまったく同じですVersion : 5.4.16
からのパッケージamzn2-core
およびepel
Name : php-mcrypt
Version : 5.4.16
Release : 7.el7
From repo : epel
vs
Name : php
Version : 5.4.16
Release : 43.amzn2.0.1
From repo : amzn2-core
したがって、2017.12 AWSAMIにインストールされたepelのパッケージに問題はありません...
# 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