PHP の .NET 移行

その業務システム、作り直さずに延命できるかもしれません。

PHP 5時代のシステムも、既存ソースコードを活かして .NET へ移行。長年蓄積した業務ロジックを守りながら、保守・運用環境を刷新します。

まずは無料で移行可能性を確認。必要な改修範囲と費用の見通しを整理します。

無料で移行可否を相談する

現行 PHP のバージョン、利用フレームワーク、主要な拡張機能などを伺い、調査内容と進め方をご案内します。

PHP で書かれた Roundcube を .NET 上で動かしたメール作成画面。左に新規作成・電子メール・連絡先・設定のメニュー、中央に発信者・宛先・件名と日本語の本文、右に添付ファイルと開封確認などの設定が並んでいる

当社の検証環境で .NET 上に動かしている Roundcube。送受信・添付まで確かめたメール作成画面

こんな方に

こんなお困りごとはありませんか

  • 古い PHP やフレームワークのままで、更新にも保守にも手が付けられない
  • 作り直したいが、全面的な再開発の費用が出せない
  • 作った人や詳しい担当者が、もう社内にいない
  • 業務を止められないので、大きな入れ替えに踏み切れない
  • 社内の標準が .NET で、PHP のシステムだけ別の運用になっている

サポートが終了した PHP を使い続けることには、脆弱性への対応や将来の保守に課題があります。たとえば2026年10月に公表された PHP 本体の脆弱性(php2shell・CVE-2026-109618/CVE-2026-109619)は、認証なしで外部からプログラムを実行されるおそれのあるものです。PHP 公式の修正版は 8.2 以降だけで、8.1 以前は OS の配布元などが独自に出す修正に頼ることになります(PHP の告知)。

それでも、業務のシステムは止められません。

比較

続ける方法は3つ

「今は動いているから大丈夫」が、最も高くつくことがあります。

保守担当者の退職、OS やミドルウェアのサポート終了、突然の障害。対応を先送りするほど、選べる移行方法が限られていくことがあります。まずは現在のシステムを調査し、今後の選択肢を整理しませんか。

PHP のバージョンを上げるだけで済む場合もあります。難しいときは、作り直すか、.NET へ移すかです。

観点.NET へ移すこのサービスPHP のバージョンを上げるPHP で作り直す
費用互換対応の量で決まります。無料の事前調査で見積もります古い書き方が多いほど、修正する量が増えます全面的な再開発になります
互換性ソースを活かし、動かない箇所を修正します新しい PHP で動かない書き方を修正します業務の動きを一から作ります
保守PHP のソースで保守します。反映(リビルド)は当社が行いますこれまでどおり PHP で保守します新しいシステムとして保守します
移行のリスク無修正で動作する保証はありません。業務の最終確認は、お客様にご協力いただきます修正する範囲が広いほど、確かめる範囲も広がります元と違う動きが入りやすくなります
向いている場合上げるのが難しく、作り直す予算もないとき上げられる見込みがあるとき業務の作りから見直したいとき

技術的な仕組み

PHP の .NET 移行とは

PHP で書かれたアプリケーションを、.NET のプログラムに変換して動かすサービスです。アプリケーションはソースを活かしたまま残し、その下で動かしている PHP の実行環境と Web サーバーを、.NET ひとつに入れ替えます。必要な互換対応は当社が行います。

移行の前後を並べた図。いまの構成は上から「PHP のアプリケーション」「PHP の実行環境」「Apache・php-fpm などの Web サーバー」「OS」の4段。移行後は上から「PHP のアプリケーション(ソースを活かす)」「.NET」「OS」の3段で、いちばん上と下は変わらず、あいだの2段が .NET ひとつに替わる。

メリット

.NET へ移すと、何が良くなるか

全面的な再開発を避けられる可能性があります。そのうえで、次の3つが良くなります。

PHP の実行環境を使わなくなります

php-fpm や XAMPP が要らなくなり、PHP 本体に由来する一部の脆弱性への対応の負担を減らせます。アプリケーションと移行先の環境の安全性は、別に確かめる必要があります。

ソースコードは PHP のまま残ります

移行後も PHP のソースを修正して保守できます。変更の反映には、リビルドが要ります。

社内の .NET 基盤に揃えられます

PHP のシステムだけ別のサーバー・別の運用、という状態をなくせます。.NET のライブラリと組み合わせることもできます。

実績

9つのフレームワーク・119通りで検証しました

98.3%PHP と同じ応答だった項目の割合

PHP 5.4〜8.4 を対象に、同じ内容の確認用アプリケーションを公式の PHP と .NET の両方で動かしました。画面・データベース・セッション・フォーム・テンプレート・多言語表示などの応答を1項目ずつ比べ、2,140項目のうち2,104項目が PHP と同じ応答でした。

  • 互換上の問題を、当社が変換の仕組みの側で修正したうえでの結果です
  • 確かめたのは確認用のアプリケーションです。お客様のシステムが無修正で動作することを示すものではありません
  • フレームワーク側のソースは書き換えていません。残った差は比べた環境の違いによるものです
フレームワークごとの内訳を見る
フレームワーク調べたバージョンPHP と同じ応答だった項目
Laravel5.0〜12
PHP 5.6〜8.4(31通り)
558/558(100%)
CakePHP2.3〜5.2
PHP 5.4〜8.4(31通り)
341/341(100%)
CodeIgniter2.1〜4.6
PHP 5.4〜8.4(23通り)
468/485(96.5%)
Symfony2.8〜7.4
PHP 5.6〜8.4(6通り)
108/108(100%)
Yii1.1〜2.0
PHP 5.4〜8.4(6通り)
132/144(91.7%)
Zend Framework / LaminasZF1〜Mezzio 3
PHP 5.6〜8.3(7通り)
87/88(98.9%)
Slim2.6〜4
PHP 5.6〜8.4(4通り)
96/96(100%)
WordPress4.9〜6.9
PHP 5.6〜8.4(6通り)
234/240(97.5%)
Drupal7〜11
PHP 5.6〜8.3(5通り)
80/80(100%)
計119通り2,104/2,140(98.3%)

2026年10月30日時点の当社調査

自社のシステムで先に試しています

社内で長年使っている Web メール(Roundcube)を .NET に移し、検証環境で動かしています。ページ上部の画面は、その検証環境のメール作成画面です。

  • ログイン・送受信・添付・アドレス帳まで、普段の操作が通ります
  • 付属の自動テスト1,264件が、PHP と同じくすべて通ります
  • アプリ側にも、11か所の小さな修正が要りました

詳しくは技術ブログ「RoundcubeをPeachPieで.NETの上に載せてみた話」をご覧ください。

技術

OSS を使うだけではなく、OSS そのものを直せる会社です

PHP を .NET で動かすオープンソース「PeachPie」(Apache License 2.0・.NET Foundation の参加プロジェクト)。当社はその仕組みを独自に改良し、古い PHP の互換性や日本語処理など、90件以上の修正を重ねてきました。単に既存の変換ツールを使うのではなく、変換の仕組みそのものに手を入れられることが、当社の強みです。

日本語を正しく扱う

Shift_JIS・EUC-JP・ISO-2022-JP を含む、PHP 8.4 が扱う79種類の文字コードに対応しました。文字数とバイト数の取り違えで、日本語のメールやファイル名が化ける問題も修正しています。

古い PHP の動きを再現する

PHP 5〜7 の時代の関数(mcrypt など)や、バージョンごとに違うエラーの扱いを、元の PHP と同じになるようにしています。

新しい PHP の書き方にも対応する

名前付き引数・列挙型(enum)など、PHP 8 で入った書き方を動くようにしました。

速さを落とさない

どの修正も、通常の処理を遅くしないことを測って確かめてから取り入れています。

技術者向けの詳細(変換の方式・対応範囲・反映の方法)
変換と実行の方式PHP のソースを PeachPie で .NET のプログラム(アセンブリ)に変換(コンパイル)し、ASP.NET Core(Kestrel)の上で動かします。PHP の実行環境(php-fpm など)は使いません。
PHP の拡張機能PHP に同梱の主要な拡張機能は、当社の検証で動作しています。enchant など一部は対応していません。PECL などで入れた拡張は、1つずつ確かめます。
データベース当社の検証では MySQL と SQLite(PDO・mysqli)を使っています。そのほかのデータベースは、事前調査で確かめます。
セッションPHP と同じ形式のセッションを扱えるようにし、フレームワークの確認項目にも含めています。
ファイルの操作ファイル・フォルダの操作やストリームの動きを、PHP と同じになるよう修正しています。確認項目に含まれない使い方は、事前調査で確かめます。
互換性の確かめ方公式の PHP と応答を1項目ずつ比べる方法と、アプリケーションに付属の自動テストを両方で流す方法で確かめています。
性能当社で測った例(CakePHP でデータベースを使う画面)では、応答は PHP が 10.1ミリ秒、.NET が 10.7ミリ秒でした。メモリの使用量は4〜5倍です。
変更の反映PHP のソースを修正したあと、当社でリビルドして、変換したプログラムをお渡しします。本番への配置は、お客様の体制に合わせてご相談します。

対象

対象になるシステム

PHP 5.4 の時代のシステムも対象です

2013年ごろのフレームワークで作られたものも、当社の実測で動いています。古すぎて PHP 8 に上げられないシステムこそ対象です。

Windows Server でも Linux でも

.NET が対応している版なら、どちらでも動きます。当社の検証は Linux で行っています。

動くかどうかを、先に無料で調べます

動く所と作業が要る所を一覧にしてお出しします。移行するかどうかは、それを見てお決めください。

始める前に

当社とお客様の役割

当社が代わりにやること

  • 事前調査(無料)。動く所と作業が要る所を一覧にします
  • 変換と、動かない箇所の修正(変換の仕組みの側も含めて)
  • 変換したプログラムと、動かすのに必要なランタイムライブラリのお渡し(本番への配置は、お客様の体制に合わせてご相談します)
  • 技術的な互換性の確認と、業務の最終確認で見つかった違いの修正
  • 移行後の保守。ソースの変更の反映(リビルド)と、新しい脆弱性への対応を含みます

お客様にしかできないこと

  • ソースコード一式をお預かりすること
  • 本番と同じ設定・データ構造で試せる環境か、その情報
  • 業務の最終確認(実際の業務が従来どおり行えるか)

導入前に確認しておきたい条件と制約

確認事項案内する対応方針
互換性の問題無修正で動作することは保証しません。当社の実測値も、動かない箇所を修正したうえでの結果です事前調査で確認し、必要な修正を見積もります
メモリ使用量の増加メモリの使用量は、PHP で動かすときの4〜5倍になります(当社の実測・待機時)現行環境と比べて、必要なサーバー構成を検討します
PHP 拡張機能PHP の拡張機能は、主要なものは当社の実測で動いていますが、全部ではありません(PECL の拡張も個別に確認)利用状況を調査し、個別に対応可否を判断します
ソース変更時のリビルドソースや設定を変えるたびに当社でのリビルドが要るため、日常的にソースを修正するシステムには向きません当社による変更反映・保守の手順をご提示します
日本語処理などの未確認差異日本語の文字の扱いで、未確認の差が残っている可能性がありますテストで差を確認し、契約範囲に応じて修正します
移行をお勧めしない場合調査の結果、移行をお勧めしないことがありますPHP のバージョンを上げる・作り直すなど、ほかの方法をご相談します
変換器の扱い変換に使う仕組み(変換器)はお渡ししません。お渡しするのは、変換したプログラムと、動かすのに必要なランタイムライブラリですソースの変更は、当社が反映(リビルド)してお渡しします
脆弱性脆弱性がすべてなくなるわけではありません。アプリ自身の作りに由来するものは残り、.NET や変換の仕組みにも見つかることがあります.NET や変換の仕組みの更新は、保守の中で行います

導入の流れ

ご相談から運用まで

  1. ご相談いまの構成をうかがいます。バージョンを上げるだけで済むと分かることもあります。
  2. 事前調査(無料)ソースをお預かりし、動く所と作業が要る所を一覧にします。範囲と期間は個別に決めます。
  3. お見積り費用と期間をお出しします。移行しない判断もあります。
  4. 変換当社で変換します。動かない箇所も修正します。動く形にしてお渡しします。
  5. 業務の最終確認(お客様)従来どおり業務が行えるか、ご確認ください。違いは当社が修正します。
  6. 運用移行後の保守を承ります。変更時のリビルドを含みます。新しい脆弱性にも対応します。

ご質問

よくあるご質問

うちのシステムも、無修正で動きますか。

無修正で動作するとはお約束できません。互換対応が要るのが通常なので、無料の事前調査で、動く所と作業が要る所を先にお見せします。

移行後も、PHP のまま保守できますか。

はい。PHP のソースを修正して保守します。変更を .NET 側へ反映する作業(リビルド)は当社が行います。

性能は変わりますか。

当社で測った例では、応答の速さは PHP とほぼ同じでした。メモリの使用量は増えます。

動かない機能はありますか。

PHP に同梱の拡張機能の一部(enchant など)は対応していません。PECL などで入れた拡張は、1つずつ確かめます。お使いのシステムで何が動かないかは、事前調査で一覧にします。

費用はいくらですか。

移行の費用は、事前調査の結果をもとにお見積りします。システムの大きさと、互換対応の量で変わります。

無料の事前調査では、何をしてもらえますか。

ソースをお預かりし、動く所と作業が要る所を一覧にしてお出しします。無料で行う範囲と期間は、システムの大きさに応じて、お問い合わせのときにご案内します。

移行できないと分かったら、どうなりますか。

その時点でお伝えし、PHP のバージョンを上げる・作り直すなど、ほかの方法をご相談します。

本番サーバーへの配置もしてもらえますか。

お客様の体制に合わせて、案件ごとにご相談します。当社で配置する形にも、お客様や保守を担当している会社に配置していただく形にもできます。

変換の仕組み(変換器)も提供してもらえますか。

いいえ。当社がお受けするのは変換の作業で、変換器はお渡ししません。お渡しするのは、変換したプログラムと、動かすのに必要なランタイムライブラリです。

動作テストもしてもらえますか。

業務に関する最終確認は、お客様にご協力いただきます。当社が技術的な互換性確認と不具合修正を担当し、お客様には実際の業務が従来どおり行えるかをご確認いただきます。

ご相談

PHP の .NET 移行について相談する

お問い合わせフォームは、ご用件に「PHP の .NET 移行」を選んだ状態で開きます。

無料で移行可否を相談する

相談する(お問い合わせ)