恐らく、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
で、インストールは完了ということで、簡単でしたね。
この記事が少しでも役に立ったと思ったらあなたのSNSに是非シェアしてください。
Add comment