CentOS8 PHP8.0 ビルドインストール

はじめに

CentOS8にPHP8.0をソースコードからビルドしてインストールします。

ここではrootにログインしていることを前提に説明しています。

ビルドに必要なパッケージのインストールはdnfコマンドを使います。

PHPとApache,nginx等Webサーバとの連携については割愛しておりますのでご了承ください。

PHPのソースコード

PHPの公式サイトからソースコードのアーカイブファイルをダウンロードして展開しましょう。

# wget https://www.php.net/distributions/php-8.0.0.tar.gz
# tar fzxv php-8.0.0.tar.gz
# cd php-8.0.0

PHPのビルドに必要なパッケージ

個人的に必要なパッケージを挙げています。カッコ内は各パッケージのリポジトリです。

  • libxml2-devel (AppStream)
  • krb5-devel (BaseOS)
  • openssl-devel (BaseOS)
  • sqlite-devel (BaseOS)
  • bzip2-devel (BaseOS)
  • libcurl-devel (BaseOS)
  • libpng-devel (BaseOS)
  • libjpeg-turbo-devel (AppStream)
  • freetype-devel (BaseOS)
  • libc-client-devel (epel)
  • oniguruma-devel (PowerTools)
  • libxslt-devel (AppStream)
  • libicu-devel (BaseOS)

これらをdnfコマンドを使ってインストールします。

リポジトリの準備

ビルドに必要なパッケージの中には初期にインストールされていなかったり、有効化されていないリポジトリに含まれているものがあります。

1. epel リポジトリ

epel(Extra Packages for Enterprise Linux)をインストールします。

このリポジトリのインストール方法については色々なところで解説されていると思います。

# dnf install epel-release

リポジトリの設定ファイルを編集します。

# vi /etc/yum.repos.d/epel.repo

[epel]セクションに優先順位の設定を追記して保存します。

priority=10

2. PowerTools リポジトリ

このリポジトリは最初からインストールされていますが、有効化されていません。

有効化するにはリポジトリの設定ファイルを編集します。

# vi /etc/yum.repos.d/CentOS-PowerTools.repo

20行目あたりを下記のように変更します。

enabled=1

configure コマンドとオプション

個人的に必要なオプションを設定しています。

# ./configure --prefix=/opt/php80 --with-openssl --enable-mbstring --with-mysqli --with-pdo-mysql --with-pdo-sqlite --with-libdir=lib64 --enable-gd --enable-gd-jis-conv --with-jpeg --with-freetype --with-zlib-dir --enable-opcache --with-curl --enable-exif --enable-ftp --with-bz2 --with-gettext --with-xsl --with-imap --with-kerberos --with-imap-ssl --without-pear --enable-intl

備考

  • インストールディレクトリ "/opt/php80"
  • PEAR無し。PEARが必要な場合は"--without-pear"を削除

ビルド・インストール

makeコマンドを動かすとビルドが始まります。マシンスペックによりますが10~20分と大変時間がかかります。気長に待ちましょう。(´・ω・)

# make

エラーが発生せず無事ビルドが終了したら、次のコマンドでインストール完了です。

# make install

確認

とりあえずバージョン確認まで。

# /opt/php80/bin/php --version
PHP 8.0.0 (cli) (built: Dec  2 2020 06:12:34) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
スポンサードリンク