AlmaLinux 9.3 に PHP8.2 インストール方法

PHP8.2

恐らく、CentOS8に環境をインストールした際から大きな変化は無いはず。

まずは、当時のPHPインストールコマンドをトライしてみましょうか。remiはまだ9.2までしか用意されていない様子。

# dnf module reset php
# dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.2.rpm
# dnf module install -y php:remi-8.2

==================================================================================================================================================================================================================================================================
 パッケージ                                                     アーキテクチャー                                         バージョン                                                          リポジトリー                                                   サイズ
==================================================================================================================================================================================================================================================================
アップグレード:
 php-cli                                                        x86_64                                                   8.2.12-1.el9.remi                                                   remi-modular                                                   5.4 M
 php-common                                                     x86_64                                                   8.2.12-1.el9.remi                                                   remi-modular                                                   843 k
 php-fpm                                                        x86_64                                                   8.2.12-1.el9.remi                                                   remi-modular                                                   1.8 M
 php-gd                                                         x86_64                                                   8.2.12-1.el9.remi                                                   remi-modular                                                    63 k
 php-mbstring                                                   x86_64                                                   8.2.12-1.el9.remi                                                   remi-modular                                                   574 k
 php-mysqlnd                                                    x86_64                                                   8.2.12-1.el9.remi                                                   remi-modular                                                   217 k
 php-pdo                                                        x86_64                                                   8.2.12-1.el9.remi                                                   remi-modular                                                   117 k
 php-xml                                                        x86_64                                                   8.2.12-1.el9.remi                                                   remi-modular                                                   213 k
モジュールプロファイルのインストール中:
 php/common                                                                                                                                                                                                                                                      
モジュールストリームの有効化中:
 php                                                                                                                     remi-8.2                                                                                                                                

トランザクションの概要
==================================================================================================================================================================================================================================================================
アップグレード  8 パッケージ
ダウンロードサイズの合計: 9.2 M
:

phpからredisを使えるようにしたいと、PHP7から8なので、OPcacheも有効化しとかないとかな。

# dnf install php-pecl-redis6 php-opcache
==================================================================================================================================================================================================================================================================
 パッケージ                                                       アーキテクチャー                                      バージョン                                                              リポジトリー                                                サイズ
==================================================================================================================================================================================================================================================================
インストール:
 php-opcache                                                      x86_64                                                8.2.12-1.el9.remi                                                       remi-modular                                                604 k
 php-pecl-redis6                                                  x86_64                                                6.0.2-1.el9.remi.8.2                                                    remi-modular                                                329 k
依存関係のインストール:
 php-pecl-igbinary                                                x86_64                                                3.2.14-1.el9.remi.8.2                                                   remi-modular                                                 71 k
 php-pecl-msgpack                                                 x86_64                                                2.2.0-1.el9.remi.8.2                                                    remi-modular                                                 56 k

トランザクションの概要
==================================================================================================================================================================================================================================================================
インストール  4 パッケージ

ダウンロードサイズの合計: 1.0 M
インストール後のサイズ: 4.3 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/4): php-pecl-msgpack-2.2.0-1.el9.remi.8.2.x86_64.rpm                                                                                                                                                                            56 kB/s |  56 kB     00:00    
(2/4): php-pecl-igbinary-3.2.14-1.el9.remi.8.2.x86_64.rpm                                                                                                                                                                          67 kB/s |  71 kB     00:01    
(3/4): php-opcache-8.2.12-1.el9.remi.x86_64.rpm                                                                                                                                                                                   366 kB/s | 604 kB     00:01    
(4/4): php-pecl-redis6-6.0.2-1.el9.remi.8.2.x86_64.rpm                                                                                                                                                                            453 kB/s | 329 kB     00:00    
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                                                                                                                              452 kB/s | 1.0 MB     00:02     
:

問題無くすんなり入りました。

ImageMagickもインストールします。

# dnf groupinstall 'Development Tools'
メタデータの期限切れの最終確認: 0:07:33 前の 2023年11月17日 13時52分25秒 に実施しました。
依存関係が解決しました。
==================================================================================================================================================================================================================================================================
 パッケージ                                                     アーキテクチャー                                              バージョン                                                     リポジトリー                                                   サイズ
==================================================================================================================================================================================================================================================================
グループのインストール中:
 Development Tools                                                                                                                                                                                                                                               

トランザクションの概要
==================================================================================================================================================================================================================================================================

これでよろしいですか? [y/N]: y
完了しました!
:

# dnf install ImageMagick ImageMagick-perl
メタデータの期限切れの最終確認: 0:07:42 前の 2023年11月17日 13時52分25秒 に実施しました。
依存関係が解決しました。
==================================================================================================================================================================================================================================================================
 パッケージ                                                          アーキテクチャー                                          バージョン                                                           リポジトリー                                            サイズ
==================================================================================================================================================================================================================================================================
インストール:
 ImageMagick                                                         x86_64                                                    6.9.12.93-1.el9                                                      epel                                                     78 k
 ImageMagick-perl                                                    x86_64                                                    6.9.12.93-1.el9                                                      epel                                                    145 k
依存関係のインストール:
 ImageMagick-libs                                                    x86_64                                                    6.9.12.93-1.el9                                                      epel                                                    2.3 M
 liblqr-1                                                            x86_64                                                    0.4.2-19.el9                                                         epel                                                     48 k

トランザクションの概要
==================================================================================================================================================================================================================================================================
インストール  4 パッケージ

ダウンロードサイズの合計: 2.5 M
インストール後のサイズ: 9.0 M
:

# dnf install php-devel php-pecl-imagick
メタデータの期限切れの最終確認: 0:08:15 前の 2023年11月17日 13時52分25秒 に実施しました。
依存関係が解決しました。
==================================================================================================================================================================================================================================================================
 パッケージ                                                           アーキテクチャー                                      バージョン                                                          リポジトリー                                                サイズ
==================================================================================================================================================================================================================================================================
インストール:
 php-devel                                                            x86_64                                                8.2.12-1.el9.remi                                                   remi-modular                                                764 k
 php-pecl-imagick-im6                                                 x86_64                                                3.7.0-7.el9.remi.8.2                                                remi-modular                                                193 k
依存関係のインストール:
 php-fedora-autoloader                                                noarch                                                1.0.1-7.el9                                                         epel                                                         12 k
弱い依存関係のインストール:
 php-nikic-php-parser4                                                noarch                                                4.17.1-1.el9                                                        epel                                                        161 k

トランザクションの概要
==================================================================================================================================================================================================================================================================
インストール  4 パッケージ

ダウンロードサイズの合計: 1.1 M
インストール後のサイズ: 14 M
:

# systemctl start php-fpm
# systemctl enable php-fpm
# service php-fpm restart

なんだか、あっさり完了。

PHPのバージョンをチェックしてみましょう。

# php -v
PHP Warning:  Module "# php -v
PHP Warning:  Module "igbinary" is already loaded in Unknown on line 0
PHP Warning:  Module "msgpack" is already loaded in Unknown on line 0
PHP 8.2.12 (cli) (built: Oct 24 2023 19:22:16) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.12, Copyright (c), by Zend Technologies" is already loaded in Unknown on line 0
PHP Warning:  Module "msgpack" is already loaded in Unknown on line 0
PHP 8.2.12 (cli) (built: Oct 24 2023 19:22:16) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.12, Copyright (c), by Zend Technologies

バージョンは問題無く8.2.12になりました。

Warningが出ているので解決しましょう。「igbinary」「msgpack」が既に読み込まれていると言っているので、どこかで重複して読み込んでいるのでしょう。経験上「/etc/php.d/」以下にある設定ファイルがあやしいかなと。

# ls /etc/php.d/
10-opcache.ini             20-curl.ini                20-ftp.ini                 20-mbstring.ini            20-simplexml.ini           20-xml.ini                 30-pdo_mysql.ini           40-imagick.ini             opcache-default.blacklist
20-bz2.ini                 20-dom.ini                 20-gd.ini                  20-mysqlnd.ini             20-sockets.ini             20-xmlwriter.ini           30-pdo_sqlite.ini          40-msgpack.ini             
20-calendar.ini            20-exif.ini                20-gettext.ini             20-pdo.ini                 20-sqlite3.ini             20-xsl.ini                 30-xmlreader.ini           50-redis.ini               
20-ctype.ini               20-fileinfo.ini            20-iconv.ini               20-phar.ini                20-tokenizer.ini           30-mysqli.ini              40-igbinary.ini  

とりあえず、中身を確認していきますが、追加した「40-imagick.ini」「50-redis.ini」が怪しそう。

# vi 50-redis.ini
; Enable redis extension module
extension = igbinary
extension = msgpack
extension = redis

ビンゴ。

# vi 50-redis.ini
; Enable redis extension module
;extension = igbinary
;extension = msgpack
extension = redis

コメントアウトして、php-fpmを再起動して確認。

# php -v
PHP 8.2.12 (cli) (built: Oct 24 2023 19:22:16) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.12, Copyright (c), by Zend Technologies

はい、OK。

では、必要に応じて、環境に合わせて設定も修正していきましょう。

# vi /etc/php.ini
memory_limit = 1000M
post_max_size = 1000M
upload_max_filesize = 1000M
expose_php = Off
date.timezone = 'Asia/Tokyo'
max_input_vars = 999999
zlib.output_compression = On

vi /etc/php.d/10-opcache.ini
opcache.memory_consumption=256
opcache.optimization_level=0x7FFFBFFF
opcache.huge_code_pages=1
opcache.jit=1235

vi /etc/php-fpm.d/www.conf
php_value[opcache.file_cache]  = /var/lib/php/opcache

これにて完了!!

コマンドだけまとめると

# dnf module reset php
# dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.2.rpm
# dnf module install -y php:remi-8.2
# dnf install php-pecl-redis6 php-opcache
# dnf groupinstall 'Development Tools'
# dnf install ImageMagick ImageMagick-perl
# dnf install php-devel php-pecl-imagick
# service php-fpm restart

で、インストールは完了ということで、簡単でしたね。

Add comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください