CentOS7へPHP(7.4)をインストールしよう

 CentOS 7で"yum install php"を実行すると、PHP 5.4.16がインストールされます。ここでは、現時点での最新リリースであるPHP 7.4を導入しようと思います。

 私は、PHPについては利用者(開発者)でもありません(でした。)HTMLのパーツとして少し触れた程度です。ここでは、「インストールしてみた、そして動いた(phpMyAdminとpostfixadminは)」というログです。

 インストールするPHPのバージョンはこの時期だとPHP 7.3が妥当なのかなと思います。PHP 7.4をインストールしましたけどね。

PHP: Supported Versions
https://www.php.net/supported-versions.php

PHP 7.4をインストールするに当たって次のサイトを参考にしました。

Remi repositoryをインストール

 PHP 7.4は、CentOS 7に標準で用意されているレポジトリからはインストールできません。まずRemi repository をインストールします。Remiというかたは、Remi Colletというフランス人開発者だそうです

$ sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Loaded plugins: fastestmirror, langpacks
remi-release-7.rpm | 20 kB 00:00:00
Examining /var/tmp/yum-root-R1D5SQ/remi-release-7.rpm: remi-release-7.7-2.el7.remi.noarch
Marking /var/tmp/yum-root-R1D5SQ/remi-release-7.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package remi-release.noarch 0:7.7-2.el7.remi will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===================================================================================================================================
Package Arch Version Repository Size
===================================================================================================================================
Installing:
remi-release noarch 7.7-2.el7.remi /remi-release-7 26 k

Transaction Summary
===================================================================================================================================
Install 1 Package

Total size: 26 k
Installed size: 26 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : remi-release-7.7-2.el7.remi.noarch 1/1
Verifying : remi-release-7.7-2.el7.remi.noarch 1/1

Installed:
remi-release.noarch 0:7.7-2.el7.remi

Complete!

PHP 7.4をインストール

 セットアップしたRemiレポジトリより、PHP 7.4をインストールします。PHP本体と一緒にインストールしているパッケージは参照サイトのPHP 7.3のときのままなので良否は判断できません。

$ sudo yum -y install --enablerepo=remi,remi-php74 php php-mbstring php-xml php-xmlrpc php-gd php-pdo php-pecl-mcrypt php-mysqlnd php-pecl-mysql
remi | 3.0 kB 00:00:00
remi-php74 | 3.0 kB 00:00:00
remi-safe | 3.0 kB 00:00:00
(1/3): remi-php74/primary_db | 207 kB 00:00:00
(2/3): remi-safe/primary_db | 1.7 MB 00:00:00
(3/3): remi/primary_db | 2.7 MB 00:00:00
Resolving Dependencies

Installed:
php.x86_64 0:7.4.4-1.el7.remi php-gd.x86_64 0:7.4.4-1.el7.remi
php-mbstring.x86_64 0:7.4.4-1.el7.remi php-mysqlnd.x86_64 0:7.4.4-1.el7.remi
php-pdo.x86_64 0:7.4.4-1.el7.remi php-pecl-mcrypt.x86_64 0:1.0.3-1.el7.remi.7.4
php-pecl-mysql.x86_64 0:1.0.0-0.23.20190415.d7643af.el7.remi.7.4 php-xml.x86_64 0:7.4.4-1.el7.remi
php-xmlrpc.x86_64 0:7.4.4-1.el7.remi

Dependency Installed:
dejavu-fonts-common.noarch 0:2.33-6.el7 dejavu-sans-fonts.noarch 0:2.33-6.el7 fontconfig.x86_64 0:2.13.0-4.3.el7
fontpackages-filesystem.noarch 0:1.44-8.el7 fribidi.x86_64 0:1.0.2-1.el7_7.1 gd-last.x86_64 0:2.3.0-1.el7.remi
graphite2.x86_64 0:1.3.10-1.el7_3 harfbuzz.x86_64 0:1.7.5-2.el7 jbigkit-libs.x86_64 0:2.0-11.el7
libX11.x86_64 0:1.6.7-2.el7 libX11-common.noarch 0:1.6.7-2.el7 libXau.x86_64 0:1.0.8-2.1.el7
libXpm.x86_64 0:3.5.12-1.el7 libjpeg-turbo.x86_64 0:1.2.90-8.el7 libmcrypt.x86_64 0:2.5.8-13.el7
libraqm.x86_64 0:0.7.0-4.el7 libsodium.x86_64 0:1.0.18-1.el7.remi libtiff.x86_64 0:4.0.3-32.el7
libwebp7.x86_64 0:1.0.3-1.el7.remi libxcb.x86_64 0:1.13-1.el7 libxslt.x86_64 0:1.1.28-5.el7
oniguruma5.x86_64 0:6.9.4-1.el7.remi php-cli.x86_64 0:7.4.4-1.el7.remi php-common.x86_64 0:7.4.4-1.el7.remi
php-json.x86_64 0:7.4.4-1.el7.remi php-sodium.x86_64 0:7.4.4-1.el7.remi

Complete!

PHPのバージョンを確認します。 7.4.4がインストールされました。

$ php -v
PHP 7.4.4 (cli) (built: Mar 17 2020 10:40:21) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

PHP 7.4のインストールで、設定ファイル "/etc/httpd/conf.d/php.conf" が追加されたので、Apacheを再起動し"/usr/home/foo/www/htdocs/index.php"のファイルを置いて動作テストを行います。

index.php

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>php test</title>
</head>
<body>
<?php echo '<p>Hello World</p>'; ?>
</body>
</html>

Webブラウザから、https://www.exsample.com/index/php を表示し、Hello Worldを表示すればOKです。Hello World以外が表示されていたらPHPが正しく動作していません。

"/etc/php.ini"が設定ファイルなので、最低限タイムゾーンを設定します。

$ sudo vim /etc/php.ini

(中略)
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
date.timezone = Asia/Tokyo

他にアップロードファイルの制限を緩くするために(大きい画像ファイルなどに対応)、upload_max_filesizeやpost_max_sizeなどを大きくするようですが、サーバー容量にも響くのでほどほどにしておきます。
変更後はApacheを再起動します。

  1. SSHクライアントを用意しよう
  2. さくらのVPSコントロールパネルからCentOS 7をインストールしよう
  3. CentOS7を初期セットアップしよう
  4. SSHログインで公開鍵認証を使おう
  5. CentOS7へWebサーバー(Apache)をインストールしよう
  6. CentOS7へTLS/SSL(Let's Encrypt)を導入しよう
  7. CentOS7へPHP(7.4)をインストールしよう
  8. CentOS7へMariaDBをインストールしよう
  9. CentOS7へメールサーバー(Postfix/Dovecot)をインストールしよう

前へ

CentOS7へTLS/SSL(Let's Encrypt)を導入しよう

次へ

CentOS7へMariaDBをインストールしよう