コントロールパネル
aaPanel(宝塔)と 1Panel の PHP2Shell 対策
どちらのパネルも独自の PHP ビルドを配布しており、PHP プロジェクトがリリースしていない PHP 7.4・8.0・8.1 のパッチ版も含まれます。パネル本体を更新しても、サイトが使う PHP は更新されません。
最終確認 2026-10-23
パネルの更新は PHP の更新ではない
パネル経由でインストールした PHP は、バージョンごとに個別に更新・再起動する必要があります。各サイトやプロジェクトが実際に使っているバージョンをすべて確認してください。
ブランチ別の修正済み PHP ビルド
ベンダーが公開した最初の修正ビルドです。確認日:2026-10-22。
| PHP ブランチ | 宝塔 / aaPanel | 1Panel | 種別 |
|---|---|---|---|
| 8.5 | 8.5.12 | 8.5.12 | PHP 公式リリース |
| 8.4 | 8.4.27 | 8.4.27 | PHP 公式リリース |
| 8.3 | 8.3.36 | 8.3.36 | PHP 公式リリース |
| 8.2 | 8.2.35 | 8.2.35 | PHP 公式リリース |
| 8.1 | 8.1.35 | 8.1.35 | パネルによるバックポート(PHP 公式リリースではない) |
| 8.0 | 8.0.31 | 8.0.31 | パネルによるバックポート(PHP 公式リリースではない) |
| 7.4 | 7.4.34 | 7.4.34 | パネルによるバックポート(PHP 公式リリースではない) |
| 7.3 | 7.3.34 | 提供なし | 宝塔のみ・スクリプトで導入 |
| 7.2 | 7.2.35 | 提供なし | 宝塔のみ・スクリプトで導入 |
| 7.1 | 7.1.34 | 提供なし | 宝塔のみ・スクリプトで導入 |
| 7.0 | 7.0.34 | 提供なし | 宝塔のみ・スクリプトで導入 |
バックポートビルドは php -v でアップストリームの番号を表示する場合があります(例:1Panel の 8.1.35 の中身は PHP 8.1.34)。パネルに表示されるビルドを基準にしてください。出典:宝塔のセキュリティガイド、1Panel アプリストアのコミット。PHP 5.x はどちらのパネルにも修正がありません。該当サイトを隔離し、移行してください。
宝塔 / aaPanel
- サイト、データベース、設定をバックアップします。
- App Store → Installed(软件商店 → 已安装)を開き、Update app list(更新软件列表)をクリックします。
- サイトが使う各 PHP バージョンを表のビルドに更新します。パネル本体の先行アップグレードは不要です。
- 更新した PHP サービスをそれぞれ再起動し、バージョンとサイトの動作を確認します。
- PHP 7.0〜7.3 はまだ App Store から更新できません。宝塔がパッチスクリプトを提供しています。本番適用前にバックアップを取り、テスト環境で検証してください。
# Every PHP version installed by 宝塔 / aaPanel
for p in /www/server/php/*/bin/php; do echo -n "$p: "; $p -r 'echo PHP_VERSION, PHP_EOL;'; done
# Restart the FPM service of each updated version (example: PHP 7.4)
/etc/init.d/php-fpm-74 restart
# PHP 7.0–7.3 only: 宝塔's patch script (back up first; use 71, 72 or 73 for other branches)
curl -fL -o php7_cve.sh https://download.bt.cn/install/php7_cve.sh && bash php7_cve.sh install 70宝塔によると、ワンクリック強化(セキュリティセンター、パネル 13.1 以降)は一部の攻撃経路のリスクを下げるだけで、2 つの CVE を完全には修正しません。Nginx WAF 9.9.0 は両 CVE のルールを追加しましたが有償版のみで、パッチの代わりではなく併用するものです。
国際版の aaPanel も同じ手順のセキュリティ告知を出し、8.1.35 と 7.4.34 を挙げています。告知時点では 8.0 のビルドはテスト中でした。サーバーの App Store に実際に表示されるビルドを使い、バージョンを確認してください。
1Panel
- バックアップを取り、できれば負荷の低い時間帯に作業します。
- アプリストアを開き、リモートアプリを更新(更新远程应用)をクリックします。
- 各 PHP ランタイムで修正済みバージョンを選びます。7.4・8.0・8.1 のパッチ版には “1Panel patched” と表示されます。見つからない場合は、アプリ横のメジャーバージョン選択を切り替えてから一覧を開き直してください。
- 保存し、そのランタイムを使うプロジェクトを再起動してバージョンを確認します。
# 1Panel PHP runtimes are containers: list them with their image tags
docker ps --format '{{.Names}}\t{{.Image}}' | grep -i php
# PHP version inside a runtime container
docker exec <container> php -v1Panel の PHP ランタイムはコンテナ(1panel/php:<バージョン>)です。1Panel 本体を更新しても、既存プロジェクトのランタイムイメージは変わりません。
よくある質問
宝塔の PHP 7.4 / 8.0 / 8.1 修正版は PHP 公式リリース?+
いいえ。PHP プロジェクトがリリースしたのは 8.2〜8.5 のみです。宝塔と 1Panel の 7.4・8.0・8.1 パッケージは、PHP セキュリティチームのソースバックポートから独自にビルドされたものです。2 つの CVE は修正されますが、ブランチはサポート終了のままです。8.4 か 8.5 への移行を計画してください。
宝塔の WAF やワンクリック強化で更新の代わりになる?+
なりません。宝塔自身、ワンクリック強化は一部の攻撃経路のリスクを下げるだけだと説明しており、WAF ルールも既知のリクエストパターンしか防げません。PHP を更新し、ワーカーを再起動してください。
1Panel を更新したのにサイトが古い PHP のまま。なぜ?+
サイトごとのランタイムは別のコンテナイメージです。ランタイム設定で修正済みバージョンを選び、保存してプロジェクトを再起動してください。
関連ページ
- ホスティング会社共有ホスティングやマネージドホスティングでは PHP を自分で更新できません。cPanel や Plesk などでの PHP バージョンの確認・切り替え方法、各社の公表内容、問い合わせるべきこと。
- 暫定対策まだアップデートできない場合の PHP2Shell 暫定対策:memory_limit、post_max_size、アップロード進捗、fatal_error_backtraces、cgroup 制限——それぞれ何を防ぎ、何が犠牲になるか。
- Linux ディストリビューションUbuntu、Debian、RHEL、AlmaLinux、SUSE における PHP2Shell の最初の修正パッケージ、バージョンが古く見える理由、ビルドの確認方法。