CentOS-8의 remi 저장소의 php-7.3을 php-7.4로 업데이트

14568 단어 centos8PHP7REMI
매번 구구도 나오지 않는 작은 재료를 취급하고 있습니다.
본 기사는 개인적인 견해이며, 필자가 소속하는 어떠한 단체에도 관계가 없습니다.

0. 소개



CentOS-8에서 움직이는 PHP7.3을 PHP7.4로 업데이트했다는 어리석은 이야기입니다.

※보충:Nextcloud는 PHP로 움직이는 서버 어플리케이션입니다만, remi 리포지토리의 PHP를 지금까지 계속 사용해 왔습니다. CentOS-8에서도, 고맙게 사용해 주시고 있는 것입니다만, CentOS-8이 되고 나서 PHP의 버젼마다의 리포지토리의 전환 방법이 조금 바뀌어 있어, 그 이야기입니다.

1. 설치된 PHP



설치된 PHP는 remi-php7.3입니다.dnf module info 에서 확인합니다.
stream의 remi-7.3에 [e] [a]가 붙어 있고 enabled로 active라는 것을 나타냅니다.
dnf module info php:remi-7.3
Last metadata expiration check: 0:46:59 ago on Wed 25 Nov 2020 05:43:05 PM JST.
Name             : php
Stream           : remi-7.3 [e] [a]
Version          : 20201125071936
Context          : 00000000
Architecture     : x86_64
Profiles         : common [d], devel, minimal
Default profiles : common
Repo             : remi-modular
Summary          : PHP scripting language
Description      : Alternative php 7.3 module. The remi-7.3 stream provides more recent versions and more packages than default 7.3 stream.
Requires         : platform:[el8]
<<<------>>>

설치된 PHP 패키지 목록
# yum list installed php\*
Installed Packages
php-bcmath.x86_64                                                     7.3.25-1.el8.remi                                                   @remi-modular
php-cli.x86_64                                                        7.3.25-1.el8.remi                                                   @remi-modular
php-common.x86_64                                                     7.3.25-1.el8.remi                                                   @remi-modular
php-devel.x86_64                                                      7.3.25-1.el8.remi                                                   @remi-modular
php-fpm.x86_64                                                        7.3.25-1.el8.remi                                                   @remi-modular
php-gd.x86_64                                                         7.3.25-1.el8.remi                                                   @remi-modular
php-gmp.x86_64                                                        7.3.25-1.el8.remi                                                   @remi-modular
php-intl.x86_64                                                       7.3.25-1.el8.remi                                                   @remi-modular
php-json.x86_64                                                       7.3.25-1.el8.remi                                                   @remi-modular
php-ldap.x86_64                                                       7.3.25-1.el8.remi                                                   @remi-modular
php-mbstring.x86_64                                                   7.3.25-1.el8.remi                                                   @remi-modular
php-mysqlnd.x86_64                                                    7.3.25-1.el8.remi                                                   @remi-modular
php-opcache.x86_64                                                    7.3.25-1.el8.remi                                                   @remi-modular
php-pdo.x86_64                                                        7.3.25-1.el8.remi                                                   @remi-modular
php-pecl-apcu.x86_64                                                  5.1.19-1.el8.remi.7.3                                               @remi-modular
php-pecl-igbinary.x86_64                                              3.1.6-1.el8.remi.7.3                                                @remi-modular
php-pecl-imagick.x86_64                                               3.4.4-10.el8.remi.7.3                                               @remi-modular
php-pecl-mcrypt.x86_64                                                1.0.3-1.el8.remi.7.3                                                @remi-modular
php-pecl-redis4.x86_64                                                4.3.0-2.el8.remi.7.3                                                @remi-modular
php-pecl-zip.x86_64                                                   1.19.2-1.el8.remi.7.3                                               @remi-modular
php-process.x86_64                                                    7.3.25-1.el8.remi                                                   @remi-modular
php-smbclient.x86_64                                                  1.0.0-1.el8.remi.7.3                                                @remi-modular
php-soap.x86_64                                                       7.3.25-1.el8.remi                                                   @remi-modular
php-xml.x86_64                                                        7.3.25-1.el8.remi                                                   @remi-modular


2. remi php-7.3 모듈 재설정


dnf module reset php:remi-7.3
Last metadata expiration check: 0:49:13 ago on Wed 25 Nov 2020 05:43:05 PM JST.
Only module name is required. Ignoring unneeded information in argument: 'php:remi-7.3'
Dependencies resolved.
=======================================================================================================================================================
 Package                             Architecture                       Version                              Repository                           Size
=======================================================================================================================================================
Resetting modules:
 php

Transaction Summary
=======================================================================================================================================================

Is this ok [y/N]: y
Complete!
dnf module reset php 로 좋았던 것 같다. .

3. remi php-7.4 활성화


dnf module enable php:remi-7.4
Last metadata expiration check: 0:49:39 ago on Wed 25 Nov 2020 05:43:05 PM JST.
Dependencies resolved.
=======================================================================================================================================================
 Package                             Architecture                       Version                              Repository                           Size
=======================================================================================================================================================
Enabling module streams:
 php                                                                    remi-7.4

Transaction Summary
=======================================================================================================================================================

Is this ok [y/N]: y
Complete!

4. 설치된 모듈 확인


# dnf module info php:remi-7.4
Last metadata expiration check: 1:06:47 ago on Wed 25 Nov 2020 05:43:05 PM JST.
Name             : php
Stream           : remi-7.4 [e] [a]
Version          : 20201125071937
Context          : 00000000
Architecture     : x86_64
Profiles         : common [d], devel, minimal
Default profiles : common
Repo             : remi-modular
Summary          : PHP scripting language
Description      : Alternative php 7.4 module. The remi-7.4 stream provides more recent versions and more packages than default 7.4 stream.
Requires         : platform:[el8]
--- 略 ---

5. 패키지를 php-7.4로 업데이트


yum update 에서 설치된 패키지가 PHP7.3에서 PHP7.4로 업데이트된다.
yum update
Last metadata expiration check: 1:10:53 ago on Wed 25 Nov 2020 05:43:05 PM JST.
Dependencies resolved.
=======================================================================================================================================================
 Package                                Architecture                Version                                    Repository                         Size
=======================================================================================================================================================
Installing:
 php-pecl-redis5                        x86_64                      5.3.2-1.el8.remi.7.4                       remi-modular                      265 k
     replacing  php-pecl-redis4.x86_64 4.3.0-2.el8.remi.7.3
Upgrading:
 php-bcmath                             x86_64                      7.4.13-1.el8.remi                          remi-modular                       83 k
 php-cli                                x86_64                      7.4.13-1.el8.remi                          remi-modular                      4.6 M
 php-common                             x86_64                      7.4.13-1.el8.remi                          remi-modular                      1.2 M
 php-devel                              x86_64                      7.4.13-1.el8.remi                          remi-modular                      1.1 M
 php-fpm                                x86_64                      7.4.13-1.el8.remi                          remi-modular                      1.6 M
 php-gd                                 x86_64                      7.4.13-1.el8.remi                          remi-modular                       92 k
 php-gmp                                x86_64                      7.4.13-1.el8.remi                          remi-modular                       83 k
 php-intl                               x86_64                      7.4.13-1.el8.remi                          remi-modular                      241 k
 php-json                               x86_64                      7.4.13-1.el8.remi                          remi-modular                       76 k
 php-ldap                               x86_64                      7.4.13-1.el8.remi                          remi-modular                       96 k
 php-mbstring                           x86_64                      7.4.13-1.el8.remi                          remi-modular                      528 k
 php-mysqlnd                            x86_64                      7.4.13-1.el8.remi                          remi-modular                      259 k
 php-opcache                            x86_64                      7.4.13-1.el8.remi                          remi-modular                      335 k
 php-pdo                                x86_64                      7.4.13-1.el8.remi                          remi-modular                      143 k
 php-pecl-apcu                          x86_64                      5.1.19-1.el8.remi.7.4                      remi-modular                       83 k
 php-pecl-igbinary                      x86_64                      3.1.6-1.el8.remi.7.4                       remi-modular                      161 k
 php-pecl-imagick                       x86_64                      3.4.4-10.el8.remi.7.4                      remi-modular                      182 k
 php-pecl-mcrypt                        x86_64                      1.0.3-1.el8.remi.7.4                       remi-modular                       35 k
 php-pecl-zip                           x86_64                      1.19.2-1.el8.remi.7.4                      remi-modular                       66 k
 php-process                            x86_64                      7.4.13-1.el8.remi                          remi-modular                       98 k
 php-smbclient                          x86_64                      1.0.0-7.el8.remi.7.4                       remi-modular                       50 k
 php-soap                               x86_64                      7.4.13-1.el8.remi                          remi-modular                      227 k
 php-xml                                x86_64                      7.4.13-1.el8.remi                          remi-modular                      214 k
Installing dependencies:
 php-pecl-msgpack                       x86_64                      2.1.1-1.el8.remi.7.4                       remi-modular                       65 k

Transaction Summary
=======================================================================================================================================================
Install   2 Packages
Upgrade  23 Packages

Total download size: 12 M
Is this ok [y/N]:

6. 만약을 위해, .rpmnew 파일을 확인해 둔다



문제가 없다고 생각하지만 rpmnew 파일이 두 개 있기 때문에 diff를 가지고 확인하십시오.
warning: /etc/php.ini created as /etc/php.ini.rpmnew
warning: /etc/php.d/10-opcache.ini created as /etc/php.d/10-opcache.ini.rpmnew

/etc/php.ini는 2곳 수정
/etc/php.d/10-opcache.ini는 문제가 없었습니다.

php 버전을 확인하십시오.
# php -v
PHP 7.4.13 (cli) (built: Nov 24 2020 10:03:34) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.13, Copyright (c), by Zend Technologies

# php-fpm -v
PHP 7.4.13 (fpm-fcgi) (built: Nov 24 2020 10:03:34)
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.13, Copyright (c), by Zend Technologies

7. 문제가 없으므로 서비스를 시작합니다.


systemctl start php-fpm
systemctl start nginx

8. 장애 대응



Nextcloud로 로그인을 시도했지만 로그인할 수 없게 되었습니다.
아무래도, 패스워드 해시의 타입이 바뀌어 버리고 있어,php-sodium.x86_64 가 필요했습니다.



PHP : 이전 버전과 호환되지 않는 변경 사항 - Manual
htps //w w. php. 네 t/마누아 l/자/미g라치온 74. 닌코 m파치 bぇ. php

Unable to login after Fedora 31>32 upgrade · Issue #21100 · nextcloud/server
htps : // 기주 b. 이 m / 네 xtc ぉ d / 세 r ょ r / 이스에 s / 21100

좋은 웹페이지 즐겨찾기