EC2にPHP7.2を導入することに躓いたので独自目線で纏めた

はじめに

EC2で環境構築をすることになったのですが、やったらとっても躓いたのでまとめました。
後から見返す用ですが、同じことをやる人たちのための参考になれば幸いです。

参考

https://qiita.com/Ikumi/items/8f76d074134b7080d102
※他にも参考にしたサイトはあるので思い出したら記載します

躓いたリスト

そもそもPHP7をどうやって入れるか

これは先人たちの知恵がググったら出てきたのでまだ分かりました。

/etc/yum.repos.d/remi-php72.repo
[remi-php72]
enabled=1
priority=1

これでphp7.2がインストール可能になります。
priorityの意味は後述。

php-devel入らないんですけど

引っかかったポイント1。

/etc/yum.repos.d/remi.repo
[remi]
enabled=1
priority=2
/etc/yum.repos.d/epel.repo
[epel]
enabled=1
priority=11

amzn-main.repoがpriority=10なので、
ここではpriority=11とします。
優先度はamzn-mainが先ですね。

php-gd入らないんですけど

引っかかったポイント2。

/etc/yum.repos.d/epel.repo
[epel]
enabled=1
priority=9

amzn-main.repoがpriority=10なので、
ここではpriority=9とします。
優先度はepelが先ですね。

priorityってなんだよ

「yum-plugin-priorities」をインストールすることによって有効になるオプションです。
priority=優先という意味合いの通り、リポジトリの優先度を決める数値になります。
AWSEC2ではこれがデフォルトで有効になっており、
上記の通り「amzn-main」や「amzn-update」では「priority=10」とデフォルト設定されています。
このため、オプションなしでyum install を実行しようとした場合は、
予めリポジトリ設定ファイルでpriorityを変更しておく必要があります。

ついでに

AWSEC2のremi.repoやepel.repoはデフォルトで「enabled=0」になっています。
この辺りで躓く人も多いかもしれません。

おわりに

AWSだとphp-develとphp-gdを同時に入れる術が無い様子です。。
yum install でオプションをつければ確かに入りますが、
「それってupdate来たときどうすんの?」って聞かれると明確な返答が出来ませんでした。。

「こうしました!」って体験談などコメントで頂ければ幸いです。
私も次回の環境構築ではもうちょいスマートにやれればなぁとか色々思います。では。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.