PHP 8.2から8.0 にダウングレード

php_logo Linux
php_logo

先日、PHP 8.2「CentOS 9系でPHP 8.2を使用する」にバージョンアップしたのですが、php-zipで依存関係でエラーとなり色々とやったのですが、解消しません。

$ php -v
PHP Warning:  Module "imagick" is already loaded in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'zip.so' (tried: /usr/lib64/php/modules/zip.so (/usr/lib64/php/modules/zip.so: undefined symbol: zip_file_is_seekable), /usr/lib64/php/modules/zip.so.so (/usr/lib64/php/modules/zip.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP 8.2.8 (cli) (built: Jul  4 2023 14:52:54) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.8, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.8, Copyright (c), by Zend Technologies

仕方なくPHP 8.2からPHP 8.0にバージョンを戻すことにしたのでその手順を紹介します

1.モジュールリストを初期化します

$ sudo dnf module reset php
Last metadata expiration check: 0:57:48 ago on Tue 25 Jul 2023 10:45:13 AM JST.
Dependencies resolved.
============================================================================================
 Package              Architecture        Version                Repository            Size
============================================================================================
Resetting modules:
 php                                                                                       

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

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

2.モジュールリストが初期化されたことを確認

$ dnf module list php
CentOS Stream 9 - AppStream
Name         Stream          Profiles                          Summary                      
php          8.1             common [d], devel, minimal        PHP scripting language       

Remi's Modular repository for Enterprise Linux 9 - x86_64
Name         Stream          Profiles                          Summary                      
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

3.現在インストールしているPHP関係のパッケージを確認します。
インストールされたPHPは一旦削除するので、インストールされているものはメモしておきます

$ dnf list installed | grep php
gd3php.x86_64                               2.3.3-9.el9.remi                 @remi        
oniguruma5php.x86_64                        6.9.8-1.el9.remi                 @remi        
php.x86_64                                  8.1.21-1.el9.remi                @remi-modular
php-bcmath.x86_64                           8.1.21-1.el9.remi                @remi-modular
php-cli.x86_64                              8.1.21-1.el9.remi                @remi-modular

4.PHP及び関係するパッケージを一旦削除します

$ sudo dnf remove php*

5.PHP関係のファイルを再度インストールします。PHPのモジュールをリセットしているのでPHP8.0でインストールされるはずです

# wordpress関連のPHPをインストールします
$ sudo dnf install php php-mbstring php-pear php-mysqlnd php-gd php-pecl-zip php-json
$ sudo dnf install php-pecl-memcache

# nextcloud関連のPHPをインストールします
$ sudo dnf install php php-mbstring php-pear php-mysqlnd php-gd php-pecl-zip php-json php-gmp php-imagick  php-bcmath php-intl

6.PHPのバージョンを確認します

$ php -v
PHP 8.0.27 (cli) (built: Jan  3 2023 16:17:26) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.27, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.27, Copyright (c), by Zend Technologies

 

 

スポンサーリンク
スポンサーリンク
スポンサーリンク
スポンサーリンク
Linux
スポンサーリンク
シェアする
adminをフォローする

コメント

タイトルとURLをコピーしました