今回はソースインストールしたApacheにPHP7.4.7を導入し、phpinfoの画面を表示するまでの手順について説明します。
実施環境
OS | CentOS 8 最小限のインストール |
---|---|
Apache | 2.4.43 |
PHP | 7.4.7 |
Apacheのインストールについて
今回はソースインストールしたApacheを使用します。以下のページでApacheのインストールを行った前提で進めるため、まだ完了していない方は以下のリンクからApacheをインストールしてください。
・CentOS8にApache2.4.43をソースインストールする方法
事前準備
初めに、PHPのコンパイル等に必要なものをインストールします。PHP7.4系列からonigurumaが必要となっているため、oniguruma関連もインストールします。
・PHPのコンパイルに必要なものをインストールする
# dnf install libxml2-devel bzip2-devel curl-devel zlib-devel libjpeg-devel libXpm-devel.x86_64 freetype-devel.x86_64 oniguruma libzip-devel sqlite sqlite-devel libvirt-devel
# dnf --enablerepo=PowerTools install oniguruma-devel
PHPのインストール
PHPのコンパイル等に必要なものをインストール後、PHP公式から最新のソースファイルをダウンロードします。
・PHP:Downloads
・PHP7.4.7のソースファイルをダウンロードする
# wget https://www.php.net/distributions/php-7.4.7.tar.gz
# tar zxf php-7.4.7.tar.gz
# cd php-7.4.7
ソースファイルのダウンロード後、コンパイルを行いインストールします。
・PHP7.4.7をコンパイル、インストールする。
# ./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-bz2 \
--enable-calendar \
--enable-ftp \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib --disable-posix \
--with-curl \
--enable-exif \
--enable-mbstring \
--with-zip \
--with-jpeg \
--enable-gd \
--enable-fpm
# make && make install
php.ini、httpd.confの設定
PHPの設定ファイルはPHPのソースファイルの中にひな形があるため、PHPのインストール後にコピーします。
・php.iniをコピーする
# cp /usr/local/src/php-7.4.7/php.ini-development /usr/local/php/php.ini
php.iniのコピー後、php.iniの設定をします。
・php.iniを編集する
# vi /usr/local/php/php.ini
■php.ini
-----------------------------------------------------------
# 文字コードの設定
default_charset = "UTF-8"
# mbstringの言語設定
mbstring.language = Japanese
# 文字コード検出の優先順位を設定
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
# タイムゾーンの設定
date.timezone = Asia/Tokyo
# PHPのバージョンの隠蔽
expose_php = Off
# POSTリクエストのデータの最大サイズを設定
post_max_size = 128M
# ファイルアップロード時の最大サイズの指定
upload_max_filesize = 128M
-----------------------------------------------------------
php.iniの設定後、Apacheのhttpd.confにPHPを有効化する設定を追加します。
・httpd.confでPHPを有効化する
# vi /usr/local/apache2/conf/httpd.conf
■httpd.conf
-----------------------------------------------------------
<IfModule mime_module>
# PHPを有効化する
AddHandler php7-script .php
</IfModule>
<IfModule dir_module>
# ディレクトリの指定のみでindex.phpを表示させる
DirectoryIndex index.php index.html
</IfModule>
-----------------------------------------------------------
phpinfo用のファイルの作成
php.ini、httpd.confの設定後、phpinfoを表示させるためのPHPファイルを作成します。今回はDocumentRootが/usr/local/apache2/htdocsに設定されている状態とします。
・phpinfo()のファイルを作成する
# vi /usr/local/apache2/htdocs/index.php
■index.php
-----------------------------------------------------------
<?php phpinfo(); ?>
-----------------------------------------------------------
ファイル作成後、Apacheを再起動します。
・Apacheを再起動する
# systemctl restart httpd
動作確認
Apacheの再起動後、ブラウザを開き「http://<サーバのIPアドレス>/index.php」にアクセスします。phpinfoの画面が表示されれば成功です。

※注意
phpinfoはサーバのPHPの情報を確認できるページです。phpinfoを公開したままでは、他のユーザーにサーバのPHPの情報を見られる危険性があるため、実環境では動作確認後にファイルを削除する、拡張子を変更する、等を行ってください。