↓ Skip to main content
  1. Posts/

PHPはまだ現役だった? 脆弱性ニュースと置き換え候補をAIに聞いてみた

Table of Contents

PHPの重大な脆弱性のニュースをきっかけに、「PHPはまだ現役なのか」「置き換える言語は何か」 をAIに聞いてみた。回答が整理されていて面白かったので、要点をメモしておく。以下は回答の 内容を要約したもので、日付・バージョン・数値などは回答の記述によるものであり、自分で 裏取りしたものではない。

今回のニュース
#

回答によると、2026年10月21日にPHPの処理系そのものに関わる深刻な脆弱性が2件修正された。 未認証の攻撃者がリモートから任意のコードを実行できる可能性があり、欧州のサイバー セキュリティ機関(ENISA)も緊急対応を呼びかけているという。

修正版は、8.5、8.4、8.3、8.2の各系列に公開された。

  • PHP 8.5.12
  • PHP 8.4.27
  • PHP 8.3.36
  • PHP 8.2.35

PHPを使うシステムの管理者にとっては、懐古的な話ではなく、実際に更新対応が必要な セキュリティインシデントだ、というのが回答の見方だ。

なぜPHPはまだ生き残っているのか
#

回答は理由を3つ挙げている。

  • WordPressという巨大な既存資産: PHPの最大の強みは言語の新しさではなく、WordPressを はじめとする既存のWebシステム、プラグイン、テーマ、運用ノウハウが大量に蓄積されている こと。別の言語への書き直しには移行コストもリスクもかかる。
  • レンタルサーバーとの相性: Webサーバー上で動かす仕組みが成熟していて、ホスティング 事業者も長年サポートしている。小規模なサイトから企業の業務システムまで、運用基盤が すでにできている。
  • PHP自体も進化している: 1990年代から存在するが、現在もPHP 8系が開発・保守されている。 古い言語だから開発が止まっている、というわけではない。

本当に気になるのは保守体制
#

回答が注目しているのは、PHPが現役であること以上に、長年使われてきた基盤ソフトウェアの 保守体制だ。

PHP Foundationの説明によると、今回の脆弱性の一つにつながる問題の兆候は2024年に把握 されていた。しかし、修正による互換性への影響や性能面のトレードオフ、エンジン内部を深く 理解する開発者の不足などから、対応が停滞したという。財団自身も、これを組織・体制上の 失敗だったと認めている。

回答はここから、公共システムや企業の情報システムにも通じる問題を4つ挙げている。

  • 技術的負債: 古いシステムほど、更新による影響範囲が広くなりやすい。
  • 属人化: 長年動いているシステムほど、内部構造を理解する人が限られることがある。
  • 保守の持続可能性: 世界中で使われていても、基盤ソフトウェアのセキュリティ対応に必要な人員・資金が十分とは限らない。
  • 依存関係の可視化: 自分たちがPHPを使っていないつもりでも、導入した製品やCMSの内部でPHPが動いている可能性がある。

つまり、「古い技術だから危ない」でも「広く使われているから安全」でもない、というのが 回答の結論だ。

置き換える言語を考える
#

回答は、単に「PHPより文法が優れた言語」を探しても答えにはならないと言う。PHPが維持して きたのは、実行環境、ホスティング、CMS、開発者、運用ノウハウを含む巨大なエコシステム だからだ。そこで、PHPに取って代わりうる言語と、Web開発の仕組みそのものを変えうるものを 分けて考えている。

候補は4つ
#

言語位置づけ強み弱点
TypeScriptWeb開発の本命候補型検査で大規模開発の保守性が上がる。フロントとバックを同じ言語で統一できるJavaScriptの実行時特性を引き継ぐため、型注釈だけでは実行時の安全性は保証されない
Goサーバー基盤の有力候補コンパイルの容易さ、並行処理、単一バイナリでの配布WordPressのような完成済みCMSの資産を置き換えるものではない
Rust安全性を重視する候補所有権・借用検査によるメモリ安全性学習コストが高く、サイトやCMSを丸ごとRustにするのが常に合理的とは限らない
Elixir設計思想の異色候補BEAMの軽量プロセス、障害分離、耐障害性。Phoenixでのリアルタイム開発開発者や既存CMSのエコシステムが小さい

PHPとの違いは、次のようにまとめられている。

  • TypeScript: サーバー側のテンプレート言語という発想から、型付きのアプリケーション全体を設計する方向へ
  • Go: リクエストごとにスクリプトを実行する構成に限らず、独立したサービスをコンパイルして配布できる
  • Rust: メモリ管理に起因する問題を起こしにくくする仕組みが、言語設計の中心にある
  • Elixir: 多数の同時接続や、障害があっても動き続けるシステムが設計の中心にある

参考として、回答は「2026年のStack Overflow Developer Survey」の数字を挙げている。 過去1年間の開発経験は、TypeScriptが 43.8%、PHPが 17.7%、Goが 16.5%、Rustが 18.0% だという。 ただし、これは世界のWebサイトの構成比ではなく、調査回答者の言語利用率である。

本当にエポックメイキングなのは言語ではない
#

回答が注目しているのは、新しい言語そのものよりも次の3つの変化だ。

  • AIがコードを生成・保守することを前提とした開発: 人間が書きやすい構文だけでなく、型・インターフェース・テスト・依存関係を機械的に検証できることの価値が高まる。TypeScriptやRustのように静的解析を活かせる言語は相性がよい。ただし、AIが生成したコードの安全性が自動的に保証されるわけではない。
  • WebAssemblyによる実行環境の変化: Wasmは言語ではなく、複数の言語からコンパイルできる実行形式・実行基盤だ。サーバー側でも使え、特定の言語やネイティブ実行環境への依存を減らせる可能性がある。PHPを直接置き換えるというより、「何の言語で書かれたか」を実行環境から切り離す方向の変化になる。
  • アプリケーションの配布・運用方式の変化: コンテナ、サーバーレス、エッジ実行環境などにより、配置や運用が変わっている。言語の選択だけでなく、デプロイ、権限分離、更新、ロールバックまで含めた設計が重要になる。

回答の見立て
#

何を置き換えるか注目する候補
PHPで新規に作るWebアプリケーションTypeScript
API・クラウドサービスGo
高い性能とメモリ安全性が必要な処理Rust
高い同時接続性・耐障害性を重視するシステムElixir
言語に依存する実行環境そのものWebAssembly

これは普及率を予測したランキングではなく、技術的な役割による整理だという。結論として 回答は、PHPを一気に駆逐する「次のC言語」や「次のJava」のような存在が、現時点で確立して いるとは言いにくいとしている。PHPの置き換えは、言語の性能や安全性だけでなく、既存資産と 開発・運用の仕組みまで含めて進むからだ。

最後にAIから逆に聞かれたこと
#

回答は、最新技術を追いかけることと現実のシステムを理解することは別の能力だ、という 感想で締めたあと、問いかけで終わっている。「エポックな言語」とは次のどちらの意味に近いか、 という質問だ。

  • A: PHPやJavaのような既存の主流言語を、本当に置き換える次世代言語
  • B: AI時代に、人間がコードを書くという前提自体を変えるような新しい言語・開発パラダイム

この2つでは、注目すべき技術がかなり変わってくるそうだ。

Related