pecl-IsolatorというPHPの拡張を作ってみた

気付けば今年も半分終わりかけ。
いい加減何か記事を書くかということで、作ったまま放ったらかしになっているPHP拡張の紹介をしたいと思います。

pecl-Isolator とは

私が今年の頭に作ってみたPHPの拡張モジュールです。

VirtualBoxやDockerのようなVM・コンテナを使うことなくPHP(とpecl-Isolator)だけで、隔離された環境でphpスクリプトを実行できるというもの。

コマンドラインベースでの利用のほか、CGIでも利用可能です。

https://github.com/rhykw/pecl-php-isolator

環境を壊したり汚したりすることなく、怪しいスクリプトも安心して実行できる。そこを目指して「絶縁体」「隔離物」といった意味の「Isolator」という名前をつけました。

pecl-Isolatorの中身

さくっと以下のような仕組みを組み合わせています。

  • ホスト名・ネットワーク・プロセスを隔離する Linux 名前空間
  • ファイルシステムを隔離する chroot
  • 隔離しつつ既存のディレクトリツリーを使う bind mount

おや、まぁ。
あれです。

Linux コンテナを構成する要素の一部を切り出して、PHP拡張としてPHPから使えるようにしたもの。

だいたいそんな感じです。

https://github.com/rhykw/pecl-php-isolator

リポジトリにサンプルコードも置いているので試しに使ってもらえると嬉しいです。

このエントリーをはてなブックマークに追加