この投稿は PHP Advent Calendar 2016 の16日目の記事です。 エグゼクティブサマリ PHPのバージョン間の挙動の違いを調査するツールとして、@hnwによるphpallや、それを改造したphpcgiallがあったが、現実のPHPの利用環境とは違いがあり、検証の妨げになる場合があった。このため、PHPのバージョン毎にApacheを異なるポートで動かすことにより、全てのバージョン(229種)のPHPをApacheモジュールとして動作させることに成功し、modphpallと命名した。modphpallはPHPの検証に有効であることを、キャリッジリターンのみで起こるPHPヘッダインジェクションを用いて確認した。 はじめに 昨日の日記では、PHPの全バージョンをCGIモードで試す phpcgiall について紹介しました。HTTPヘッダインジェクションやセッションの挙動について
![PHPの全バージョンの挙動をApacheモジュールとして試す](https://cdn-ak-scissors.b.st-hatena.com/image/square/8f21f0180da8dd1f391eddf73709a2091b69fc2e/height=288;version=1;width=512/https%3A%2F%2F3.bp.blogspot.com%2F-PFfA-CYQwNw%2FWFJsuaIq7MI%2FAAAAAAAAOeQ%2Fso0a9TI3m0woA4r5UtrqGR1CSizIzbuVwCLcB%2Fw1200-h630-p-k-no-nu%2Fmodphpall001.png)