将 AlmaLinux8 上的 PHP 升级到 7.3/7.4/8.0/8.1/8.2 系列

首先

AlmaLinux8でデフォルトでインストールできるPHPは、2022-10-04時点でPHP7.2系です。このほかにも7.x系のPHPや最近では8.x系のPHPも登場してきています。
ここでは、AlmaLinux8におけるPHPのバージョンアップ手順を備忘録としてまとめておきます。

PHP的原始安装源

ここでは、AlmaLinux8標準リポジトリAlmaLinux 8 – AppStreamではなく、epelリポジトリremiリポジトリを用います。たまに、PHPのモジュールが標準リポジトリでは提供されていない場合があり、これを吸収するために外部リポジトリを利用します

更新步骤

1. 添加外部存储库

# epelリポジトリを追加します
dnf -y install epel-release

# remiリポジトリを追加します
dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

# dnfのメタデータキャッシュを作成しておきます
dnf clean all && dnf -y makecache

目前的PHP删除

# 現在のiniファイルをバックアップしておきます
cp /etc/php.ini /etc/php.ini.bk

# phpパッケージをすべて削除します
# 削除されるパッケージを確認後 y で削除します
dnf remove php-*

3. インストールするPHPバージョンの指定

dnf module list phpで、インストールできるPHPのモジュールリストを確認できます。

dnf module list php

#実行結果
AlmaLinux 8 - AppStream
Name                                     Stream                                      Profiles                                                      Summary                                                  
php                                      7.2 [d]                                     common [d], devel, minimal                                    PHP scripting language                                   
php                                      7.3                                         common [d], devel, minimal                                    PHP scripting language                                   
php                                      7.4                                         common [d], devel, minimal                                    PHP scripting language                                   
php                                      8.0                                         common [d], devel, minimal                                    PHP scripting language                                   

Remi s Modular repository for Enterprise Linux 8 - x86_64
Name                                     Stream                                      Profiles                                                      Summary                                                  
php                                      remi-7.2                                    common [d], devel, minimal                                    PHP scripting language                                   
php                                      remi-7.3                                    common [d], devel, minimal                                    PHP scripting language                                   
php                                      remi-7.4                                    common [d], devel, minimal                                    PHP scripting language                                   
php                                      remi-8.0                                    common [d], devel, minimal                                    PHP scripting language                                   
php                                      remi-8.1                                    common [d], devel, minimal                                    PHP scripting language                                   
php                                      remi-8.2                                    common [d], devel, minimal                                    PHP scripting language   

デフォルトでは 7.2 が指定されていることがわかります。このデフォルトを指定することでインストールしたいPHPのバージョンとインストール元リポジトリを指定できます。

以下のコマンドを用いてインストールするPHPバージョンとリポジトリを指定します

# remi-7.3を指定する場合
dnf -y module reset php && dnf -y module enable php:remi-7.3

# remi-7.4を指定する場合
dnf -y module reset php && dnf -y module enable php:remi-7.4

# remi-8.0を指定する場合
dnf -y module reset php && dnf -y module enable php:remi-8.0

# remi-8.1を指定する場合
dnf -y module reset php && dnf -y module enable php:remi-8.1

# remi-8.2を指定する場合
dnf -y module reset php && dnf -y module enable php:remi-8.2

# 指定したものをリセットしたい場合
dnf -y module reset php

4. PHP的安装(升级版本)

# phpをインストールします
dnf -y install php php-cli php-fpm php-devel php-pear php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache php-process
请将列出的主要的PHP模块删除,并尝试安装剩下的模块。

5. 检查已安装的PHP版本。

php -v

#実行結果
PHP 7.4.32 (cli) (built: Sep 28 2022 09:09:55) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.32, Copyright (c), by Zend Technologies

6. 将php.ini的配置插入。

vim /etc/php.ini

# 以下は例です
memory_limit = 2G                     #RAM容量にあわせて調整してください
error_log = /var/log/php_errors.log   #phpエラーログファイルパスを指定する
post_max_size = 300M                  #利用目的にあわせて調整してください
upload_max_filesize = 300M            #利用目的にあわせて調整してください
date.timezone = Asia/Tokyo            #コメントアウトを外して、Asia/Tokyoを指定してください
mbstring.language = Japanese                    #コメントアウトを外してください
请根据备份的php.ini.bk文件进行设置输入。

7. PHP-FPM的配置

# php-fpmを自動起動するようにしておきます
systemctl enable php-fpm

8. 将数据加载到Apache

# phpのバージョンが変わったのでApacheを再起動して反映させます
# あわせてphp-fpmも再起動(起動)させます
systemctl restart httpd && systemctl restart php-fpm

9. PHP的运行检查

在/var/www/html的文档根目录下创建一个显示phpinfo()的php文件。

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

ブラウザを開いて、動作確認用のphpファイルにアクセスします。指定したバージョンのPHPが表示されることを確認してください。

最后

在CentOS7上,我們需要在安裝PHP時指定存儲庫名稱,但通過dnf module enable php:****,我們可以指定默認版本和存儲庫,這讓事情變得稍微輕鬆了一些。
然而,仍然有一些OSS尚未適應PHP 8.x系列,因此在進行升級時,請注意PHP的版本。

广告
将在 10 秒后关闭
bannerAds