PHP 7.4 を Remi's RPM repository からインストール(AlmaLinux)
提供:あわ自由帳
メインページ > Category:自宅サーバー > AlmaLinux 8 で自宅サーバー構築 > PHP 7.4 を Remi's RPM repository からインストール(AlmaLinux)
- 自宅サーバーで、動作確認しています。導入される方は自己責任で行ってください。
- Imagick 使えます。
- dnf用リポジトリ追加(AlmaLinux)を導入済みとします。
CentOSバージョン確認
[root@host4 ~]# cat /etc/redhat-release AlmaLinux release 8.3 (Purple Manul)
インストール
有効になっている PHP のバージョンを確認
[root@host4 ~]# dnf module list php AlmaLinux 8 - AppStream Name Stream Profiles Summary php 7.2 [d][e] common [d] [i], devel, minimal PHP scripting language php 7.3 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 ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Stream切り替え
[root@host4 ~]# dnf module reset php [root@host4 ~]# dnf module enable php:remi-7.4
[root@host4 ~]# 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 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 [e] common [d], devel, minimal PHP scripting language php remi-8.0 common [d], devel, minimal PHP scripting language ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled
旧 php アンインストール
[root@host4 ~]# dnf remove php php-* php* [root@host4 ~]# php -v [root@host4 ~]# rpm -qa | grep php
バージョン情報が出てこなければアンインストール完了です。
インストール実行
※行の長さの関係で途中に改行が入ってます。注意してください。
[root@host4 ~]# dnf --enablerepo=epel,remi,remi-safe install php php-cli php-devel php-common php-mbstring php-mysqlnd php-fpm php-gd php-gmp php-mcrypt php-opcache php-pdo php-xml php-json ・ ・ 依存関係が解決しました。 =========================================================================================================== パッケージ Arch バージョン リポジトリー サイズ =========================================================================================================== インストール中: php x86_64 7.4.11-1.el8.remi remi-modular 3.0 M php-cli x86_64 7.4.11-1.el8.remi remi-modular 4.6 M php-common x86_64 7.4.11-1.el8.remi remi-modular 1.2 M php-devel x86_64 7.4.11-1.el8.remi remi-modular 1.1 M php-fpm x86_64 7.4.11-1.el8.remi remi-modular 1.6 M php-gd x86_64 7.4.11-1.el8.remi remi-modular 92 k php-gmp x86_64 7.4.11-1.el8.remi remi-modular 82 k php-json x86_64 7.4.11-1.el8.remi remi-modular 75 k php-mbstring x86_64 7.4.11-1.el8.remi remi-modular 527 k php-mysqlnd x86_64 7.4.11-1.el8.remi remi-modular 258 k php-opcache x86_64 7.4.11-1.el8.remi remi-modular 334 k php-pdo x86_64 7.4.11-1.el8.remi remi-modular 142 k php-pecl-mcrypt x86_64 1.0.3-1.el8.remi.7.4 remi-modular 35 k php-xml x86_64 7.4.11-1.el8.remi remi-modular 214 k 依存関係のインストール中: cmake-filesystem x86_64 3.11.4-7.el8 AppStream 40 k keyutils-libs-devel x86_64 1.5.10-6.el8 BaseOS 48 k krb5-devel x86_64 1.17-18.el8 BaseOS 549 k libcom_err-devel x86_64 1.45.4-3.el8 BaseOS 38 k libkadm5 x86_64 1.17-18.el8 BaseOS 185 k libmcrypt x86_64 2.5.8-26.el8 epel 109 k libselinux-devel x86_64 2.9-3.el8 BaseOS 199 k libsepol-devel x86_64 2.9-1.el8 BaseOS 86 k libsodium x86_64 1.0.18-2.el8 epel 162 k libverto-devel x86_64 0.3.0-5.el8 BaseOS 18 k libxml2-devel x86_64 2.9.7-7.el8 AppStream 1.0 M oniguruma5php x86_64 6.9.5+rev1-3.el8.remi remi-safe 206 k openssl-devel x86_64 1:1.1.1c-15.el8 BaseOS 2.3 M pcre2-devel x86_64 10.32-1.el8 BaseOS 605 k pcre2-utf16 x86_64 10.32-1.el8 BaseOS 228 k pcre2-utf32 x86_64 10.32-1.el8 BaseOS 220 k xz-devel x86_64 5.2.4-3.el8 BaseOS 62 k 弱い依存関係のインストール中: nginx-filesystem noarch 1:1.14.1-9.module_el8.0.0+184+e34fea82 AppStream 24 k php-sodium x86_64 7.4.11-1.el8.remi remi-modular 88 k トランザクションの概要 =========================================================================================================== インストール 33 パッケージ
追加パッケージをインストール
[root@host4 ~]# dnf --enablerepo=epel,remi,remi-safe install php-pear php-pecl-xdebug ・ ・ 依存関係が解決しました。 =========================================================================================================== パッケージ Arch バージョン リポジトリー サイズ =========================================================================================================== インストール中: php-pear noarch 1:1.10.12-2.el8.remi remi-modular 365 k php-pecl-xdebug x86_64 2.9.8-1.el8.remi.7.4 remi-modular 249 k 依存関係のインストール中: php-fedora-autoloader noarch 1.0.1-2.el8.remi remi-modular 13 k php-process x86_64 7.4.11-1.el8.remi remi-modular 97 k トランザクションの概要 =========================================================================================================== インストール 4 パッケージ
インストール済みパッケージ確認
[root@host4 ~]# rpm -qa | grep php oniguruma5php-6.9.5+rev1-3.el8.remi.x86_64 php-mysqlnd-7.4.11-1.el8.remi.x86_64 php-common-7.4.11-1.el8.remi.x86_64 php-sodium-7.4.11-1.el8.remi.x86_64 php-process-7.4.11-1.el8.remi.x86_64 php-json-7.4.11-1.el8.remi.x86_64 php-opcache-7.4.11-1.el8.remi.x86_64 php-7.4.11-1.el8.remi.x86_64 php-gmp-7.4.11-1.el8.remi.x86_64 php-pecl-xdebug-2.9.8-1.el8.remi.7.4.x86_64 php-pdo-7.4.11-1.el8.remi.x86_64 php-fpm-7.4.11-1.el8.remi.x86_64 php-mbstring-7.4.11-1.el8.remi.x86_64 php-pecl-mcrypt-1.0.3-1.el8.remi.7.4.x86_64 php-gd-7.4.11-1.el8.remi.x86_64 php-pear-1.10.12-2.el8.remi.noarch php-cli-7.4.11-1.el8.remi.x86_64 php-fedora-autoloader-1.0.1-2.el8.remi.noarch php-xml-7.4.11-1.el8.remi.x86_64 php-devel-7.4.11-1.el8.remi.x86_64
php.iniの設定
[root@host4 ~]# vi /etc/php.ini # [PHP]ブロック expose_php = Off ← レスポンスヘッダにPHPのバージョンを表示させない error_reporting = E_ALL ← 全てのログを出力させる display_errors = Off ← ブラウザでのエラー表示させない log_errors = On ← エラーをログに残す log_errors_max_len = 4096 ← エラーログの長さを設定、念のため大きめに error_log = "/var/log/php_errors.log" ← エラーログ出力先 default_charset = "UTF-8" ← 文字エンコーディング #[Date]ブロック date.timezone = "Asia/Tokyo" ← タイムゾーン #[mbstring]ブロック mbstring.language = Japanese ← デフォルト言語 mbstring.internal_encoding = UTF-8 ← 内部文字エンコーディング mbstring.http_input = auto ← HTTP入力文字エンコーディングのデフォルト mbstring.detect_order = auto ← 文字エンコーディング検出順序のデフォルト ; サーバーの搭載メモリーなど環境に応じて変えてください memory_limit = 128M post_max_size = 32M upload_max_filesize = 32M
php-fpmの起動
[root@host4 ~]# systemctl start php-fpm [root@host4 ~]# systemctl enable php-fpm Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.
Webサーバー再起動
[root@host4 ~]# systemctl restart httpd
phpバージョン確認
[root@host4 ~]# php -v PHP 7.4.11 (cli) (built: Sep 29 2020 10:17:06) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.11, Copyright (c), by Zend Technologies with Xdebug v2.9.8, Copyright (c) 2002-2020, by Derick Rethans
Imagickをphpで使う
[root@host4 ~]# dnf --enablerepo=epel,remi,remi-safe install ImageMagick [root@host4 ~]# dnf --enablerepo=epel,remi,remi-safe install ImageMagick-devel [root@host4 ~]# pecl install imagick [root@host4 ~]# find / -name imagick.so /usr/lib64/php/modules/imagick.so [root@host4 ~]# vi /etc/php.d/imagick.ini ; Enable imagick extension module extension=imagick.so [root@host4 ~]# systemctl restart php-fpm [root@host4 ~]# systemctl restart httpd