PHP > PHPのバージョンアップ
CentOS 6.10でPHPのバージョンを最新(PHP7.4)にする方法を調べてみた。
CentOSのバージョン確認
cat /etc/redhat-release
Apatchのバージョン確認
httpd -v
phpのバージョン確認
php -v
Mysqlのバージョン確認
mysql --version
su
yum update
PHPを標準のリポジトリからではなく、他のところから持ってくるため、EPELとREMIのリポジトリを追加しておく。
【EPELリポジトリ】
以下のコマンドを打つ
rootyum install epel-release
【REMIリポジトリ】
以下のコマンドを打つ
rootrpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
error: Failed dependencies: epel-release = 7 is needed by remi-release-7.7-1.el7.remi.noarch
というエラーメッセージが出たら、以下のページを参考にする。
$ wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm ~/
このコマンドを打ったら、以下のようなエラーメッセージが出た。
$ wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm ~/ --2019-12-20 06:40:04-- http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm Resolving dl.fedoraproject.org... 209.132.181.23, 209.132.181.25, 209.132.181.24 Connecting to dl.fedoraproject.org|209.132.181.23|:80... connected. HTTP request sent, awaiting response... 404 Not Found 2019-12-20 06:40:05 ERROR 404: Not Found.
指定したURLのファイルが無いとのこと。
手動で調べてみると、URLが変更されていた。
https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/
このフォルダの中に、
epel-release-7-12.noarch.rpm 2019-09-18 12:56 15K
というファイルがあった。
上記のコマンドを修正すると、
$ wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-12.noarch.rpm ~/
になる。
次にrpmで展開
rpm -ivh ~/epel-release-7-9.noarch.rpm
このコマンドもバージョンに合わせて変更する。
rpm -ivh ~/epel-release-7-12.noarch.rpm
ただし、rootのホームディレクトリ「/root」に「epel-release-7-12.noarch.rpm」ファイルを保存していない場合は、ファイルがあるディレクトリまで移動して、以下のようにコマンドを変更する。
rpm -ivh epel-release-7-12.noarch.rpm
(「~/」部分が不要)
# rpm -ivh epel-release-7-12.noarch.rpm warning: epel-release-7-12.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID ********: NOKEY Preparing... ########################################### [100%] file /etc/yum.repos.d/epel-testing.repo from install of epel-release-7-12.noarch conflicts with file from package epel-release-6-8.noarch file /etc/yum.repos.d/epel.repo from install of epel-release-7-12.noarch conflicts with file from package epel-release-6-8.noarch
「epel-release-6-8.noarch」と競合しているというエラーメッセージが出た。
EPEL7はCentOS7じゃないと使えないなら、CentOS6を7にバージョンアップする作業が必要になる?
面倒くさいので、どうせならCentOSはUbuntuのLTSに変えた方が良いかも?