it.xnews.jp
出典: Jake A. Smith 生成: 2026-09-17 読了 約 3 分 model: claude-haiku-4-5 原文: https://jakeasmith.com/blog/http-build-url/ raw.md

12年前のPHP修正コードが2000万インストール達成、開発者が廃止宣言

Jake A. Smith氏が2014年に書いた174行のPHPポリフィルパッケージ「http_build_url」が、Packagistから約2000万回インストールされた後、廃止されることになった。同パッケージは毎月40万回以上のインストール数を記録していた。

本文

Jake A. Smith氏は2014年、AOLのコンテンツ管理システムをPHP 5.2からPHP 5.3へアップグレードする際、廃止されたpecl_http拡張機能の「http_build_url()」関数の代替として、174行のPHPコードを書いた。当初は一時的な修正として位置づけられていたが、同氏がPackagistで公開したこのコードは、その後12年間で想定外の広がりを見せることになった。

広範な採用と影響範囲

http_build_urlパッケージはPackagistからほぼ2000万回インストールされ、毎月40万回以上のインストール数を記録している。WPMLはこのポリフィルを直接コードベースに組み込んでおり、WPMLはWordPressにおける多言語対応プラグインの市場リーダーとして150万以上のサイトにインストールされている。さらにidna-convert、SPIP(フランスのコンテンツ管理システム)、Debian、Ubuntuなどのプロジェクトにも採用されている。

ブログ記事のスクリーンショット

廃止の決定

Smith氏は2021年に新しいメンテナーを募集し、3人の候補者が手を挙げたが、その直後に家族が亡くなったことを経験した。最終的に同氏は、パッケージを維持するのではなく廃止することを決めた。理由として、The PHP LeagueのURIライブラリやPHP 8.5に搭載される標準準拠のURI APIといった、より優れた代替手段が利用可能になったことを挙げている。

Smith氏は、広くインストールされているパッケージを新しいメンテナーに譲り渡すことで、セキュリティリスクが生じる可能性があると述べている。また、AOLのプラットフォームは2020年頃に廃止されたにもかかわらず、このポリフィルから移行されることはなかったという。

パッケージには既知の不具合も存在する。URLに末尾スラッシュが付いたパスを結合する際、パス内のすべての文字「a」が削除されるバグが報告されており、これは末尾スラッシュへの対応として追加された「a」を追加して削除するという回避方法が原因とされている。

筆者の見立て

この記事は元記事の事実のみに基づいて自動生成されました。

出典

Jake A. Smith — "My temporary PHP fix from 2014 has nearly 20M installs. Today I'm deprecating it." — https://jakeasmith.com/blog/http-build-url/

この記事をシェア