Thanks Driven Life

日々是感謝

PHP バージョン毎の php.ini の差分を確認できるサービス phpini-diff

軽く作りました。

http://phpini-diff.herokuapp.com/

f:id:gongoZ:20150924162526g:plain

概要

RailsDiff みたいなやつです。

作成経緯

PHP のバージョン上げる時に php.ini の違いも一応調べないと*1。でも PHPソースコード落としてきて diff するのめんどいし。今なら GitHub にある PHP 本体のリポジトリ でタグ差分で違いみれるけどいちいちバージョン探して指定してーってめんどくさいな」

みたいなことから

Rails だと railsdiff があるよなー」

みたいな感じで php.ini 版があると多少便利になるかな、といった感じです。

ソースコード

github.com

備忘録も兼ねて簡単に内容を

PHP のバージョンは 4.0.0 以上 & (正式版 or RC 版) を対象

  • GitHub でタグ付けされてる分だけ
  • 正式版以外だと alpha とか beta とかあるけど、めんどくさいので RC だけ

php.ini の種類については

プロダクション用(所謂 php.ini-production)を比較対象としています。php.ini-development とかは除外しています。 ちなみに PHP 5.3 未満は php.ini-recommended が production 用っぽかったので、それを採用しています。

各バージョンの php.ini の収集方法

適当にスクリプト書いて 対処しました。

とりあえず JavaScript (Node.js) で

  • フロントは vue.js + webpack で作成
  • サーバ側は express
    • そこは PHP だろみたいなところもあったんですが、 PHP xdiff を heroku で使うのめんどそう
    • いい感じで差分ブロック分けてくれるやつが node にあった flitbit/diff ので、もう統一しようかなと

まとめ

ini ファイル、拡張ライブラリまで手を出そうと思ったけどめんどくさいのでやめました。 そこらへんはファイルサイズもそんなに大きくないし、ひとまずコアな php.ini の差分だけ簡単に見れたら良しとしました。

てきとうにご利用ください

*1:例えば 5.3 → 5.4 みたいな差分は http://php.net/manual/ja/migration54.ini.php とかでも確認できます