Page 1
n
年塩漬けされていたプロジェクトを
8.2移行するときにやったこと
Migrate a PHP project that has been neglected for several years to 8.2.
pixiv Inc.
USAMI Kenta
2023-11-29
PHP勉強会@東京 #phpstudy
公開日:
by USAMI Kenta@tadsan
n
年塩漬けされていたプロジェクトを
8.2移行するときにやったこと
Migrate a PHP project that has been neglected for several years to 8.2.
pixiv Inc.
USAMI Kenta
2023-11-29
PHP勉強会@東京 #phpstudy
お前誰よ
さて
PHP 8.3リリース
されましたね
🎉
みなさまが愛した
PHP7.xは全てEOL
社内のプロダクトは
全て8.2移行済み
その前にPHP
バージョンアップの
定石おさらい
開発を止めずにバージョン更新する
というわけで無事に
PHP 8.2化
🎉
……こいつ以外は
ContestCMS
ContestCMS
塩漬けにしていたのは
ほかならぬ私です
😇
10年前のプロジェクト
ここが辛い
年季の入った放置プロジェクトあるある
嘆いても
仕方ないので直す
0. 通らないなりに PHPStanを入れる
PHPStanの導入
1. Syntaxの非互換
文字列補間の非互換
2. インターフェイスの
非互換
PHP 8.1の非互換変更 (その1)
PHP 8.1の非互換変更 (その2)
PHP 8.1の非互換変更 (その2)
ここで手間暇かけて 両バージョン対応を
諦める
(社内サービスなので)
3. PHPUnitの
バージョンを上げる
PHPUnit 9.5
4. Smartyの アップデート
Smarty 3.x → 4.0に移行
5.その他パッケージの
アップデート
依存パッケージのアップデートなど
5. E_WARNINGを
潰す
E_WARNING
エラーハンドラのカスタマイズ
まとめ
PHP7.xからの移行は 最後は地道なもぐら叩き
本番環境も活用しながら
完全は求めず
安全に移行しような
