以前、CentOS7にPHP8をインストールする記事を書きました。
https://minokamo.tokyo/2021/02/18/3390/
本日は、RHEL8にPHP8をインストールします。CentOS8でも同じであると思います。
CentOS7と少しだけ違うので記事にしました。
それでは進めていきましょう。
PHPのインストールコマンドを打つと、PHP7がインストールされるのでリポジトリを追加します。
リポジトリにどんなものが追加されているか確認します。
PHP8をインストールするにはEPELとREMIの2つのリポジトリが必要だということです。
sudo dnf repolist all
ol8_developer_EPELが存在するが無効になっています。
有効にします。
ただし、オリジナルと少し違いがあります。後々失敗するようならオリジナルをインストールすることにします。
sudo yum-config-manager --enable ol8_developer_EPEL
EPELとは(https://fedoraproject.org/wiki/EPEL/ja)
エンタープライズ Linux 用の拡張パッケージ(EPEL) は、 Red Hat Enterprise Linux (RHEL) 向けの高品質なアドオンパッケージであり、CentOSやScientific Linux (SL) のようなRHELからスピンオフしたディストリビューションと互換性のある、Fedoraプロジェクトで有志によって作成されたパッケージになります。FedoraはRHELのアップストリームであり、EPEL のアドオンパッケージは主に RHEL向けにビルドされたFedoraリポジトリをソースとしています。
次は、REMIレポジトリを追加します。次のURLにアクセスします。
https://rpms.remirepo.net/
emi-release-8.rpmというリンクを右クリックしてURLをコピーしておきます。
下記のコマンドを入力しますが、URLの部分がコピーしておいたものとなります。
sudo dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
エラーが発生しました。
Error:
Problem: conflicting requests
nothing provides epel-release = 8 needed by remi-release-8.3-1.el8.remi.noarch
オリジナルのEPELをインストールします。
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
先ほどと同様にリストを表示すると、EPELがインストール済みで有効になっているので、再度REMIリポジトリをインストールします。
今度はうまくいきました。
利用可能なPHPのバージョンを一覧表示します。
sudo dnf module list php
普通にインストールするとphp7がインストールされるのでREMIを有効にします。
sudo dnf module enable php:remi-8.0
これでPHP8のインストール準備は整いました。
インストールします。ついでにphp-fpmもインストールします。
sudo dnf install php php-cli php-common php-fpm
バージョンを確認するには下記のコマンドを入力します。
php -v
初期値ではPHPに制限があるのでPHP.iniを編集します。php.iniファイルを検索します。
php -i | grep php.ini
etc直下にあることがわかったので編集します。ここでは次のようにしました。
sudo vi /etc/php.ini
upload_max_filesize = 100M
date.timezone = Asia/Tokyo
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
さらにPHPの処理速度を向上するのに重要なopcacheの記述を見ると、etc/php.dにある10-opcache.iniを参照するようにとのことなので見てみます。
cd /etc/php.d
sudo vi 10-opcache.ini
opcacheは有効になっているようです。PHP8から利用できるようになったjitの記述はないようです。jitも高速化に役立つものみたいです。
php -i | grep JIT
PCRE JIT Support => enabled
PCRE JIT Target => x86 64bit (little endian + unaligned)
JIT => Disabled
無効になっているので10-opcache.iniファイルにバッファーサイズを記述してみました。
opcache.jit_buffer_size=32M
今度はjitがOnと表示されたのですが、これでいいかは不明です。
PCRE JIT Support => enabled
PCRE JIT Target => x86 64bit (little endian + unaligned)
JIT => On
コメント