0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Rocky Linux 10にPHP 8.4、8.5をインストールする(標準パッケージ、Remi Repository)

0
Posted at

What's?

Rocky Linux 10にPHPをインストールする方法をまとめておこうかなということで。

Rocky Linux 10へのPHPのインストール

これはPHPのダウンロードページを見るのがよいと思います。

こんな感じで、OSの種類やディストリビューションごとのインストール方法を教えてくれます。

image.png

Rocky Linuxの場合は、「Fedora」を選ぶのがよいと思います。

ここで紹介されるのは、以下の2つのインストール方法です。

  • OSの標準パッケージからのインストール
  • Remi Repositoryを使ったインストール

現時点での選択肢はこちら。

image.png

バージョンを指定すると、インストール方法がRemi Repositoryに切り替わります。

Remi Repositoryについてはこちらを参考に。

Remi RepositoryのWebサイトはこちらです。

ところでRocky Linuxならディストリビューションに「RedHat」を選択するのがよいのでは?と思うかもしれませんが、この場合はCodeReady Linux Builderが案内されるのでちょっと扱いが違います。

今回は標準パッケージとRemi Repositoryからのインストールを簡単に紹介してみます。

環境

今回の環境はこちらです。

$ cat /etc/redhat-release
Rocky Linux release 10.2 (Red Quartz)


$ uname -srvmpio
Linux 6.12.0-211.49.1.el10_2.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Aug 20 14:59:37 UTC 2026 x86_64 unknown unknown GNU/Linux

標準パッケージからPHP 8.4をインストールする

まずは標準パッケージからのインストールを見ていきましょう。

インストールできるバージョンを確認する

パッケージ「php」を確認すると、PHP 8.3が案内されます。

$ dnf info php
メタデータの期限切れの最終確認: 0:00:02 前の 2026年08月23日 19時14分56秒 に実施しました。
利用可能なパッケージ
名前         : php
バージョン   : 8.3.32
リリース     : 1.el10_2
Arch         : x86_64
サイズ       : 7.8 k
ソース       : php-8.3.32-1.el10_2.src.rpm
リポジトリー : appstream
概要         : PHP scripting language for creating dynamic web sites
URL          : http://www.php.net/
ライセンス   : PHP-3.01 AND Zend-2.0 AND BSD-2-Clause AND MIT AND Apache-1.0 AND NCSA AND BSL-1.0
説明         : PHP is an HTML-embedded scripting language. PHP attempts to make it
             : easy for developers to write dynamically generated web pages. PHP also
             : offers built-in database integration for several commercial and
             : non-commercial database management systems, so writing a
             : database-enabled webpage with PHP is fairly simple. The most common
             : use of PHP coding is probably as a replacement for CGI scripts.

この時点でアクティブなPHPのバージョンは8.4と8.5なので、ちょっと古いですね。

image.png

ちなみに「php8」で検索すると、php8.4が見つかります。

$ dnf search php8 | head
メタデータの期限切れの最終確認: 0:02:23 前の 2026年08月23日 19時14分56秒 に実施しました。
=============================== 名前 一致: php8 ================================
php8.4.x86_64 : PHP scripting language for creating dynamic web sites
php8.4-bcmath.x86_64 : A module for PHP applications for using the bcmath library
php8.4-cli.x86_64 : Command-line interface for PHP
php8.4-common.x86_64 : Common files for PHP
php8.4-dba.x86_64 : A database abstraction layer module for PHP applications
php8.4-dbg.x86_64 : The interactive PHP debugger
php8.4-devel.x86_64 : Files needed for building PHP extensions
php8.4-embedded.x86_64 : PHP library for embedding in applications
php8.4-enchant.x86_64 : Enchant spelling extension for PHP applications
$ dnf info php8.4
メタデータの期限切れの最終確認: 0:02:52 前の 2026年08月23日 19時14分56秒 に実施しました。
利用可能なパッケージ
名前         : php8.4
バージョン   : 8.4.24
リリース     : 1.el10_2
Arch         : x86_64
サイズ       : 11 k
ソース       : php8.4-8.4.24-1.el10_2.src.rpm
リポジトリー : appstream
概要         : PHP scripting language for creating dynamic web sites
URL          : http://www.php.net/
ライセンス   : PHP-3.01 AND Zend-2.0 AND BSD-2-Clause AND MIT AND Apache-1.0 AND NCSA AND BSL-1.0
説明         : PHP is an HTML-embedded scripting language. PHP attempts to make it
             : easy for developers to write dynamically generated web pages. PHP also
             : offers built-in database integration for several commercial and
             : non-commercial database management systems, so writing a
             : database-enabled webpage with PHP is fairly simple. The most common
             : use of PHP coding is probably as a replacement for CGI scripts.

つまり、Rocky Linux 10の標準パッケージでは、PHP 8.3またはPHP 8.4がインストールできることになります。
8.5はインストールできません。

PHP 8.4をインストールする

では、今回はPHP 8.4をインストールしてみましょう。

$ sudo dnf install php8.4

依存関係など。

================================================================================================================================================================================
 パッケージ                                    アーキテクチャー                   バージョン                                        リポジトリー                          サイズ
================================================================================================================================================================================
インストール:
 php8.4                                        x86_64                             8.4.24-1.el10_2                                   appstream                              11 k
依存関係のインストール:
 apr                                           x86_64                             1.7.5-3.el10                                      appstream                             127 k
 apr-util                                      x86_64                             1.6.3-23.el10_1                                   appstream                              97 k
 apr-util-lmdb                                 x86_64                             1.6.3-23.el10_1                                   appstream                              13 k
 capstone                                      x86_64                             5.0.1-8.el10_2                                    appstream                             1.0 M
 httpd-core                                    x86_64                             2.4.63-13.el10_2.5                                appstream                             1.4 M
 httpd-filesystem                              noarch                             2.4.63-13.el10_2.5                                appstream                              14 k
 httpd-tools                                   x86_64                             2.4.63-13.el10_2.5                                appstream                              81 k
 libxslt                                       x86_64                             1.1.39-8.el10_2.1                                 appstream                             189 k
 mailcap                                       noarch                             2.1.54-8.el10                                     baseos                                 34 k
 nginx-filesystem                              noarch                             2:1.26.3-6.el10_2.5                               appstream                              11 k
 php8.4-common                                 x86_64                             8.4.24-1.el10_2                                   appstream                             758 k
 rocky-logos-httpd                             noarch                             100.5-3.el10                                      appstream                              24 k
弱い依存関係のインストール:
 apr-util-openssl                              x86_64                             1.6.3-23.el10_1                                   appstream                              15 k
 httpd                                         x86_64                             2.4.63-13.el10_2.5                                appstream                              48 k
 mod_http2                                     x86_64                             2.0.29-4.el10_2.2                                 appstream                             164 k
 mod_lua                                       x86_64                             2.4.63-13.el10_2.5                                appstream                              60 k
 php8.4-cli                                    x86_64                             8.4.24-1.el10_2                                   appstream                             3.8 M
 php8.4-fpm                                    x86_64                             8.4.24-1.el10_2                                   appstream                             1.9 M
 php8.4-mbstring                               x86_64                             8.4.24-1.el10_2                                   appstream                             528 k
 php8.4-opcache                                x86_64                             8.4.24-1.el10_2                                   appstream                             524 k
 php8.4-pdo                                    x86_64                             8.4.24-1.el10_2                                   appstream                              93 k
 php8.4-xml                                    x86_64                             8.4.24-1.el10_2                                   appstream                             691 k

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

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

そのままインストールすると、PHP-FPMやApacheもついてきます。

バージョン確認。

$ php --version
PHP 8.4.24 (cli) (built: Jul 29 2026 05:29:50) (NTS gcc x86_64)
Copyright (c) The PHP Group
Built by Rocky Enterprise Software Foundation
Zend Engine v4.4.24, Copyright (c) Zend Technologies
    with Zend OPcache v8.4.24, Copyright (c), by Zend Technologies

Apache+PHP-FPMで動作確認する

PHP-FPMとApacheがついてきているので、動作確認しておきましょう。

ちなみに、PHP向けのApacheの設定はこんな感じでインストールされていました。

/etc/httpd/conf.d/php.conf
#
# The following lines prevent .user.ini files from being viewed by Web clients.
#
<Files ".user.ini">
    Require all denied
</Files>

#
# Allow php to handle Multiviews
#
AddType text/html .php

#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php

#
# Redirect to local php-fpm (no mod_php in default configuration)
#
<IfModule !mod_php.c>
    # Enable http authorization headers
    SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1

    <FilesMatch \.(php|phar)$>
        SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
    </FilesMatch>
</IfModule>

#
# mod_php is deprecated as FPM is now used by default with httpd in event mode
# mod_php is only used when explicitly enabled or httpd switch to prefork mode
#
# mod_php options
#
<IfModule  mod_php.c>
    #
    # Cause the PHP interpreter to handle files with a .php extension.
    #
    <FilesMatch \.(php|phar)$>
        SetHandler application/x-httpd-php
    </FilesMatch>

    #
    # Uncomment the following lines to allow PHP to pretty-print .phps
    # files as PHP source code:
    #
    #<FilesMatch \.phps$>
    #    SetHandler application/x-httpd-php-source
    #</FilesMatch>

    #
    # Apache specific PHP configuration options
    # those can be override in each configured vhost
    #
    php_value session.save_handler "files"
    php_value session.save_path    "/var/lib/php/session"
    php_value soap.wsdl_cache_dir  "/var/lib/php/wsdlcache"

    #php_value opcache.file_cache   "/var/lib/php/opcache"
</IfModule>

動作確認用ファイルを作成。

/var/www/html/index.php
<?php
phpinfo();

PHP-FPMとApacheを起動。

$ sudo systemctl start php-fpm
$ sudo systemctl start httpd

http://localhostにアクセスして結果を確認。

image.png

OKですね。

自動起動設定まで入れておきましょう。

$ sudo systemctl enable php-fpm
$ sudo systemctl enable httpd

Remi RepositoryからPHP 8.5をインストールする

Remi Repositoryを使うと、PHP 8.5をインストールできます。

Remi Repositoryの有効化

Remi Repositoryの有効にするには、こちらのページを参照してOSのバージョンにあったリポジトリをインストールします。

Rocky Linux 10の場合はこうですね。

$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-10.rpm

PHP 8.5をインストールする

次に、phpパッケージをRemiのPHP 8.5に切り替えます。

$ sudo dnf module reset php
$ sudo dnf module enable php:remi-8.5

これで「php」パッケージがPHP 8.5になりました。

$ dnf info php
メタデータの期限切れの最終確認: 0:00:07 前の 2026年08月23日 19時48分08秒 に実施しました。
利用可能なパッケージ
名前         : php
バージョン   : 8.5.9
リリース     : 1.module_php.8.5.el10.remi
Arch         : x86_64
サイズ       : 3.0 M
ソース       : php-8.5.9-1.module_php.8.5.el10.remi.src.rpm
リポジトリー : remi-modular
概要         : PHP scripting language for creating dynamic web sites
URL          : http://www.php.net/
ライセンス   : PHP-3.01 AND Zend-2.0 AND BSD-2-Clause AND MIT AND Apache-1.0 AND Apache-2.0 AND NCSA AND BSL-1.0
説明         : PHP is an HTML-embedded scripting language. PHP attempts to make it
             : easy for developers to write dynamically generated web pages. PHP also
             : offers built-in database integration for several commercial and
             : non-commercial database management systems, so writing a
             : database-enabled webpage with PHP is fairly simple. The most common
             : use of PHP coding is probably as a replacement for CGI scripts.
             :
             : The php package contains the module (often referred to as mod_php)
             : which adds support for the PHP language to Apache HTTP Server.

インストール。

$ sudo dnf install php

依存関係。

依存関係が解決しました。
================================================================================================================================================================================
 パッケージ                               アーキテクチャー               バージョン                                                  リポジトリー                         サイズ
================================================================================================================================================================================
インストール:
 php                                      x86_64                         8.5.9-1.module_php.8.5.el10.remi                            remi-modular                         3.0 M
依存関係のインストール:
 apr                                      x86_64                         1.7.5-3.el10                                                appstream                            127 k
 apr-util                                 x86_64                         1.6.3-23.el10_1                                             appstream                             97 k
 apr-util-lmdb                            x86_64                         1.6.3-23.el10_1                                             appstream                             13 k
 capstone                                 x86_64                         5.0.1-8.el10_2                                              appstream                            1.0 M
 httpd-core                               x86_64                         2.4.63-13.el10_2.5                                          appstream                            1.4 M
 httpd-filesystem                         noarch                         2.4.63-13.el10_2.5                                          appstream                             14 k
 httpd-tools                              x86_64                         2.4.63-13.el10_2.5                                          appstream                             81 k
 libsodium                                x86_64                         1.0.22-1.el10_2                                             epel                                 214 k
 libxslt                                  x86_64                         1.1.39-8.el10_2.1                                           appstream                            189 k
 mailcap                                  noarch                         2.1.54-8.el10                                               baseos                                34 k
 oniguruma5php                            x86_64                         6.9.10-1.el10.remi                                          remi-safe                            217 k
 php-common                               x86_64                         8.5.9-1.module_php.8.5.el10.remi                            remi-modular                         812 k
弱い依存関係のインストール:
 apr-util-openssl                         x86_64                         1.6.3-23.el10_1                                             appstream                             15 k
 nginx-filesystem                         noarch                         2:1.26.3-6.el10_2.5                                         appstream                             11 k
 php-cli                                  x86_64                         8.5.9-1.module_php.8.5.el10.remi                            remi-modular                         6.0 M
 php-fpm                                  x86_64                         8.5.9-1.module_php.8.5.el10.remi                            remi-modular                         3.0 M
 php-mbstring                             x86_64                         8.5.9-1.module_php.8.5.el10.remi                            remi-modular                         531 k
 php-pdo                                  x86_64                         8.5.9-1.module_php.8.5.el10.remi                            remi-modular                          98 k
 php-sodium                               x86_64                         8.5.9-1.module_php.8.5.el10.remi                            remi-modular                          43 k
 php-xml                                  x86_64                         8.5.9-1.module_php.8.5.el10.remi                            remi-modular                         238 k

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

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

ちなみに、以下のコマンドでもインストールできます。

$ sudo dnf module install php:remi-8.5

こちらの場合は、インストールされる依存関係がぐっと小さくなります。

依存関係が解決しました。
================================================================================================================================================================================
 パッケージ                               アーキテクチャー               バージョン                                                  リポジトリー                         サイズ
================================================================================================================================================================================
group/moduleパッケージをインストール:
 php-cli                                  x86_64                         8.5.9-1.module_php.8.5.el10.remi                            remi-modular                         6.0 M
 php-common                               x86_64                         8.5.9-1.module_php.8.5.el10.remi                            remi-modular                         812 k
 php-fpm                                  x86_64                         8.5.9-1.module_php.8.5.el10.remi                            remi-modular                         3.0 M
 php-mbstring                             x86_64                         8.5.9-1.module_php.8.5.el10.remi                            remi-modular                         531 k
 php-xml                                  x86_64                         8.5.9-1.module_php.8.5.el10.remi                            remi-modular                         238 k
依存関係のインストール:
 capstone                                 x86_64                         5.0.1-8.el10_2                                              appstream                            1.0 M
 httpd-filesystem                         noarch                         2.4.63-13.el10_2.5                                          appstream                             14 k
 libxslt                                  x86_64                         1.1.39-8.el10_2.1                                           appstream                            189 k
 oniguruma5php                            x86_64                         6.9.10-1.el10.remi                                          remi-safe                            217 k
弱い依存関係のインストール:
 nginx-filesystem                         noarch                         2:1.26.3-6.el10_2.5                                         appstream                             11 k
モジュールプロファイルのインストール中:
 php/common

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

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

今回はこちらにしておきます。

$ sudo dnf install php

バージョン確認。

$ php --version
PHP 8.5.9 (cli) (built: Jul 28 2026 13:06:52) (NTS gcc x86_64)
Copyright (c) The PHP Group
Built by Remi's RPM repository <https://rpms.remirepo.net/> #StandWithUkraine
Zend Engine v4.5.9, Copyright (c) Zend Technologies
    with Zend OPcache v8.5.9, Copyright (c), by Zend Technologies

Apache+PHP-FPMで動作確認する

こちらのインストール方法でもApacheの設定ファイルがついてきます。

/etc/httpd/conf.d/php.conf
#
# The following lines prevent .user.ini files from being viewed by Web clients.
#
<Files ".user.ini">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
        Satisfy All
    </IfModule>
</Files>

#
# Allow php to handle Multiviews
#
AddType text/html .php

#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php

# mod_php options
<IfModule  mod_php.c>
    #
    # Cause the PHP interpreter to handle files with a .php extension.
    #
    <FilesMatch \.(php|phar)$>
        SetHandler application/x-httpd-php
    </FilesMatch>

    #
    # Uncomment the following lines to allow PHP to pretty-print .phps
    # files as PHP source code:
    #
    #<FilesMatch \.phps$>
    #    SetHandler application/x-httpd-php-source
    #</FilesMatch>

    #
    # Apache specific PHP configuration options
    # those can be override in each configured vhost
    #
    php_value session.save_handler "files"
    php_value session.save_path    "/var/lib/php/session"
    php_value soap.wsdl_cache_dir  "/var/lib/php/wsdlcache"

    #php_value opcache.file_cache   "/var/lib/php/opcache"
</IfModule>

# Redirect to local php-fpm if mod_php (5 or 7) is not available
<IfModule !mod_php5.c>
  <IfModule !mod_php7.c>
    <IfModule !mod_php.c>
      # Enable http authorization headers
      SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1

      <FilesMatch \.(php|phar)$>
          SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
      </FilesMatch>
    </IfModule>
  </IfModule>
</IfModule>

なんならnginxの設定ファイルもついてきますが。

$ tree /etc/nginx
/etc/nginx
├── conf.d
│   └── php-fpm.conf
└── default.d
    └── php.conf

3 directories, 2 files

今回のインストール方法の場合、PHP-FPMはインストールされていますが、Apacheはそうではありません。

Apacheをインストール。

$ sudo dnf install httpd

動作確認用ファイルを作成。

/var/www/html/index.php
<?php
phpinfo();

PHP-FPMとApacheを起動。

$ sudo systemctl start php-fpm
$ sudo systemctl start httpd

http://localhostにアクセスして結果を確認。

image.png

OKですね。

自動起動設定まで入れておきましょう。

$ sudo systemctl enable php-fpm
$ sudo systemctl enable httpd

こんなところでしょうか。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?