パッケージマネージャNixで実現する宣言的でクリーンなPHP開発環境の構築 by たけてぃ

PHPerKaigi 2026
パンフ記事(4ページ)

パッケージマネージャNixで実現する宣言的でクリーンなPHP開発環境の構築

takeokunn たけてぃ takeokunn

本文

「このプロジェクトはPHP 8.3、あっちは8.1、拡張モジュールも違う…」

複数プロジェクトを抱えるPHP開発者にとって、環境管理は悩ましい問題です。
Homebrewでバージョンを切り替えればグローバル環境が汚染され、Dockerを使えばオーバーヘッドでネイティブより動作が遅くなる。

本記事では、第三の選択肢としてパッケージマネージャ「Nix」を紹介します。

Nixは純粋関数型言語で設計されたパッケージマネージャで、「同じ入力からは常に同じ出力」という再現性を保証します。
仮想化を用いずにプロジェクト単位の完全な環境分離を実現し、ネイティブな実行速度を維持したまま、PHPバージョンや拡張モジュールをプロジェクトごとに宣言的に管理できます。

「開発環境構築のIaC(Infrastructure as Code)」を実現するNixで、チーム全員が同一環境で開発できる世界を体験してみませんか。

パンフレット記事に記載すること

  • 命令的管理(Homebrew)と宣言的管理(Nix)のアプローチの違い
  • Nix Flakesを用いた、PHPバージョン・拡張モジュールの具体的な定義手法
  • direnvとの連携による、ディレクトリ移動だけで環境が切り替わるシームレスな開発体験
  • Dockerとの比較と使い分けの指針
  • etc...