- 「PHPバージョンアップの相場」が調べても出てこない理由
- 金額を左右する4つの要因
- 実際にどんな作業が発生するのか
- 見積もりを待たずに金額を決める方法
PHPのバージョンを上げたいんだけど、いくらかかるんだろう。 検索しても「規模によります」ばかりで、金額が全然分からない。 社内で予算を通したいのに、これじゃ稟議が書けない。
「相場」を調べても出てこないのには理由があります
「PHP バージョンアップ 費用」で検索すると、たいてい「規模によります」「要お見積り」に行き着きます。 不親切に見えますが、これには理由があります。
同じ「PHP 7から8へ」でも、作業量が10倍以上違うことが普通にあるからです。
たとえば同じ規模のシステムでも、
- 素直に作られていて、フレームワークの標準に沿っている → 数日で終わることもある
- 独自の書き方が積み重なっていて、廃止された関数を大量に使っている → 数ヶ月かかることもある
見積もりを出す側は、中を見るまで本当に分からないのです。 だから「規模によります」としか書けない。そして依頼する側は、 金額が分からないまま相談するしかない——ここで止まってしまいます。
金額を左右する4つの要因
見積もりが出るまでの間、自分で当たりをつけるための材料をお伝えします。
要因1: 今のバージョンと、上げ先のバージョンの差
バージョンの差が大きいほど、途中で廃止された書き方が多く含まれます。
PHP 7.4 から 8.0 への1段階なら、変更点は限られます。 一方で PHP 5系から8系へ一気に上げる場合は、間に何度も大きな変更が入っているため、 修正が必要な箇所が桁違いに増えます。
各バージョンのサポート状況は別記事にまとめています。 → PHPサポート終了日カレンダー
要因2: フレームワークを使っているか
フレームワークを使っている場合、フレームワーク自体のバージョンアップも必要になります。 そして多くの場合、こちらのほうが本体より大変です。
- Laravel、CakePHP、Symfony などを使っている → フレームワークの移行が別途必要
- フレームワークを使っていない(素のPHP) → 影響範囲は限定的だが、共通処理が自作なので確認箇所が多い
- 独自フレームワーク → 中を読まないと本当に分からない。作った人の設計に依存する
要因3: 自動テストがあるか
これが最も費用を左右する要因かもしれません。
自動テストがあれば、修正したあと「壊れていないか」を機械が確認できます。 無ければ、人が画面を一つずつ触って確認するしかありません。 この確認作業が、バージョンアップの工数の大部分を占めることがあります。
「テストがない」のは珍しいことではなく、むしろ古いシステムでは普通の状態です。 その前提で見積もる必要がある、ということです。
要因4: 外部サービスとの連携があるか
決済、地図、メール配信、SMS、外部システムとのAPI連携。 これらは相手側の仕様変更が絡むため、PHPのバージョンアップだけでは終わらないことがあります。 古いライブラリが新しいPHPで動かず、かつ新しいライブラリは使い方が変わっている、というケースです。
実際にどんな作業が発生するのか
「バージョンを上げる」という一言の中身は、だいたい次のようになります。
- 現状の把握 — 何がどのバージョンで動いているか、どのライブラリを使っているかを洗い出す
- 影響範囲の調査 — 廃止された書き方、動かなくなる箇所を機械的に検出する
- 検証環境の構築 — 本番と同じ構成で、新しいPHPが動く環境を用意する
- 修正 — 検出した箇所を直す
- 動作確認 — 全画面・全機能を確認する(テストが無ければここが最も重い)
- 切り替え — 業務時間外に本番を切り替え、問題があれば戻せるようにしておく
1〜3の準備段階だけで、全体の3〜4割を占めることも珍しくありません。 「修正するだけ」ではないことが、金額の分かりにくさにつながっています。
見積もりを待たずに金額を決める方法
ここまで読んで、「結局いくらなのか分からない」と思われたかもしれません。 そのとおりです。中を見るまで分からないというのが正直なところです。
そこで弊社では、順番を逆にしました。
金額を先に決めていただき、その金額でできることを私たちが組み立ててご提示します。
| 内容 | 金額 | |
|---|---|---|
| 応急処置 | 脆弱性の対応・不具合の修理・現状のドキュメント化 | 30万円 |
| 延命・改修 | PHP 8系へのバージョンアップ・主要機能の改修 | 100万円 |
| 部分リプレース | 中核機能をLaravelで作り直し・データ移行 | 300万円 |
バージョンアップが目的であれば、多くの場合は100万円のパックが該当します。 規模が小さければ30万円のパックで収まることもあります。
進め方はこうです。
- NDAを締結し、ソースコードを拝見します
- 3営業日で「どのパックが妥当か」「その予算で何ができるか」をお答えします(無料)
- 一覧に合意いただいてから着手します
- 合意した範囲を超える追加請求はいたしません
予算内に全部が入らない場合は、正直に「ここまでは今回、ここから先は次期」とお伝えします。 無理に詰め込んで中途半端に終わるほうが、お互いにとって損だからです。
→ PHPレスキュー(古いPHPシステムの定額改修)の詳細を見る
相談する前に、これだけ分かっていると話が早く進みます。
- 現在のPHPのバージョン(確認方法はこちら)
- フレームワークを使っているか、使っているなら何か
- ソースコードが手元にあるか、サーバーから取得できるか
- 画面数のおおよその感覚(正確でなくて構いません)
分からなくても大丈夫です。ソースコードさえあれば、こちらで調べられます。
まとめ
- 「PHPバージョンアップの相場」が出てこないのは、同じ規模でも作業量が10倍以上違うことがあるため
- 金額を左右するのは「バージョンの差」「フレームワーク」「自動テストの有無」「外部連携」の4つ
- 工数の大部分は修正ではなく、準備と動作確認が占める
- 見積もりを待てない場合は、先に予算を決めてしまうという選択肢がある
この記事をシェア