ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
このエラーの概要
CentOS 7 で PHP-FPM をインストールしようとして以下のような依存解決エラーが出るケースです:
$ sudo yum install php-fpm
エラー: パッケージ: php-fpm-5.4.16-46.el7.x86_64 (base)
要求: php-common(x86-64) = 5.4.16-46.el7
インストール: php-common-7.4.33-1.el7.remi.x86_64 (@remi-php74)
php-common(x86-64) = 7.4.33-1.el7.remi
利用可能: php-common-5.4.16-46.el7.x86_64 (base)
php-common(x86-64) = 5.4.16-46.el7
問題を回避するために --skip-broken を用いることができます。
これらを試行できます: rpm -Va --nofiles --nodigest
意味は「base リポジトリの php-fpm 5.4.16 を入れたいが、既に Remi の php-common 7.4.33 が入っていて衝突している」です。CentOS 7 では yum install php-fpm をそのまま実行すると、デフォルトで 古い PHP 5.4(base リポジトリ)を入れようとします。一方、Remi が有効化されていると別バージョンが混在し、依存関係が破綻します。
解決の方針
| 状況 | 推奨アクション |
|---|---|
| 新規構築で PHP 7.4 / 8.x を使いたい | Remi で php74 / php82 モジュールを有効化(対処1) |
| 古い PHP 5.4 をどうしても使う必要がある | base のみ有効、Remi を --disablerepo=remi*(対処2) |
| Remi の別 PHP バージョンへ切替 | yum-config-manager で旧 enable を disable に(対処3) |
| CentOS 7 を継続使用したい | EOL のため、Rocky/AlmaLinux 9 へ移行を推奨(対処4) |
対処1: Remi リポジトリで PHP 7.4 / 8.x をインストール(推奨)
# 1. EPEL リポジトリ追加 (Remi の前提)
sudo yum install -y epel-release
# 2. Remi リポジトリ追加
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
# 3. yum-utils を入れて config-manager を使えるように
sudo yum install -y yum-utils
# 4. Remi の PHP 7.4 を有効化(既存があれば無効化)
sudo yum-config-manager --disable 'remi-php*'
sudo yum-config-manager --enable remi-php74
# PHP 8.0 → remi-php80
# PHP 8.1 → remi-php81
# PHP 8.2 → remi-php82
# 5. インストール
sudo yum install -y php php-fpm php-cli php-common \
php-mysqlnd php-pdo php-gd php-mbstring php-xml \
php-json php-opcache php-bcmath php-zip
# 6. 確認
php -v
# PHP 7.4.33 (cli) (built: ...) ...
# 7. 起動
sudo systemctl enable --now php-fpm
sudo systemctl status php-fpm
対処2: あえて CentOS 標準の PHP 5.4 を入れたい
レガシーシステム維持で 5.4 が必要な場合のみ:
# Remi を一時的に無効化してインストール
sudo yum install -y --disablerepo='remi*' \
php php-fpm php-cli php-common php-mysql php-pdo
# 既存 Remi PHP を全部消す場合
sudo yum remove -y $(rpm -qa | grep php)
sudo yum clean all
sudo yum install -y php php-fpm
注意: PHP 5.4 は 2015 年に EOL です。セキュリティ脆弱性が放置されているため、本番運用は絶対に避けてください。
対処3: 既存 Remi の PHP バージョンを切り替える
# 現在有効なリポジトリ確認
sudo yum repolist enabled | grep remi
# 例: remi-php72 → remi-php74 へ
sudo yum-config-manager --disable remi-php72
sudo yum-config-manager --enable remi-php74
# パッケージをアップグレード
sudo yum update -y php php-fpm php-cli php-common \
php-mysqlnd php-pdo php-gd php-mbstring php-xml
# モジュール一覧
yum list installed | grep php
# 設定ファイルの新旧確認 (.rpmnew / .rpmsave が出る)
find /etc/php* -name "*.rpm*"
対処4: CentOS 7 EOL を踏まえた移行
CentOS 7 は 2024-06-30 で EOL。脆弱性修正の YUM 更新が止まっています。本番で長期運用するなら以下のいずれかへ移行してください:
- Rocky Linux 9: CentOS 7 系の正当後継。
dnf install php php-fpmでデフォルト PHP 8.0+ - AlmaLinux 9: 同じく RHEL 互換。CloudLinux 系の安定運用
- Ubuntu 22.04 / 24.04 LTS:
apt install php8.2-fpmで楽 - RHEL 9 + Convert2RHEL: 有償サポート
# Rocky Linux 9 の場合
sudo dnf install -y epel-release
sudo dnf module reset php
sudo dnf module enable -y php:8.2
sudo dnf install -y php php-fpm php-cli php-mysqlnd
sudo systemctl enable --now php-fpm
php-fpm 起動後の最小設定
; /etc/php-fpm.d/www.conf
; nginx 連携の場合
user = nginx
group = nginx
; UNIX ソケット (推奨)
listen = /run/php-fpm/www.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
; プロセス数(メモリと相談)
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
; スロー実行ログ
slowlog = /var/log/php-fpm/www-slow.log
request_slowlog_timeout = 5s
FAQ
Q: --skip-broken を付けて回避できる?
A: 一見入りますが依存関係が壊れたまま動くので、php スクリプト実行時に「shared library not found」等が頻発します。根本対処(リポジトリ整理)が必要です。
Q: scl の rh-php72 とどっちが良い?
A: Software Collections (SCL) は scl enable rh-php72 bash で切替が必要で手間。Remi はシステム標準として置き換える形なので運用が楽です。
Q: 複数 PHP バージョン共存させたい
A: Remi なら php74 / php82 パッケージ名で並行インストール可能。/opt/remi/php74/root/usr/bin/php 等で直接呼べます。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- curl: (51) SSL: certificate subject name '~' does not match target host name '~'
- mount: special device ... does not exist
- 【yum install php-fpm】エラー: パッケージ: php-fpm-5.4.16-46.el7.x86_64 (base)
- ファイルが開けません: https://centos7.iuscommunity.org/ius-release.rpm を飛ばします。
- File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:
- unable to execute 'gcc': No such file or directory
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- 【django】ログイン 認証機能 2026-09-08 03:22:09
- MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方 2026-09-08 03:11:09
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Wi-Fi とは|規格と世代(Wi-Fi 4〜7)・周波数帯・CSMA/CA・WPA3 NEW 2026-09-07 07:45:13
- set コマンドでシェルオプションと位置パラメータを操作 | bash 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- UE5 Get Overlapping Actorsで特定クラスだけ処理|Class Filter・Cast To 2026-09-07 07:45:13
- Linuxで特定拡張子のファイルを再帰削除|find -deleteの安全手順 2026-09-07 07:45:13
- Django CBVでテンプレートに値を渡す|get_context_data・extra_context 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
- Linux catコマンドの使い方|行番号表示・複数ファイル連結 2026-09-07 07:45:13
- unable to execute 'gcc': No such file or directory 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?