Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@mumumu
Last active October 13, 2020 19:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mumumu/a84365a1c55934b8ececbb839a2f9ca1 to your computer and use it in GitHub Desktop.
Save mumumu/a84365a1c55934b8ececbb839a2f9ca1 to your computer and use it in GitHub Desktop.
メンテナ向け: PHPマニュアル の chm ビルド環境

メンテナ向け: PHPマニュアル の chm ビルド環境

PHPマニュアル の chm は、ビルドに Windows 環境が必要である。
現在は、クラウドの力を借りて週に一度ビルドから配布までを行っているが、誰でも出来るようにするには少し課題がある。

ビルド環境の詳細

  • Windows が前提
    • 2018/06 現在は、Amazon EC2 上の Windows Server 2016 を使用
    • ビルドした成果物は phpmanualchm という公開バケットへ aws s3 sync し、php.net 側はそれを毎週1回DLして公開する
  • Requirement
    • wget
    • git
    • Subversion
    • 後述する [PHP|PEAR] や phd とともに、同じフォルダに入れておくとわかりやすい
  • Visual C++ の Runtime をインストール
  • windows.php.net に行き、上記の Runtime に対応する PHP をダウンロードする
  • ダウンロードした zip を任意の場所に展開し、PATH を通す
  • PHP_PEAR_SYSCONF_DIR 環境変数を、zip を展開後の root ディレクトリに設定
  • PEAR, phd をインストール
    • PEAR は 最新の go-pear.bat を使い、local を選択してインストール
    • phd は git 版を使う
      • pear install package_generic.xml
      • pear install package_php.xml
  • タスクマネージャーを設定

chm ビルド環境における、PHP のバージョンアップ

  • Windows 版PHPを、以前のバージョンと同じフォルダに展開し、PATH を通す
  • PHP_PEAR_SYSCONF_DIR 環境変数を、zip を展開後の root ディレクトリに設定
  • バージョンアップした 上記のPHP をベースに、もう一度 PEAR と phd をインストール
    • PEAR は 最新の go-pear.bat を使い、local を選択してインストール
    • phd も面倒だが、もう一度インストールする必要がある
    • php.ini の変更も忘れずに
      • マイナーバージョンアップなら、以前のものをコピーすればいい
      • メジャーバージョンアップの場合は、面倒だが、 php.ini.production を php.ini にコピーして調整
  • 設定ファイルの書き換え
    • doc-base/scripts/build-chms-config.php を 書き換え
      • PATH_PHP
      • PATH_PHD

発生するコスト

  • AWS EC2 を週に1度、3時間程度起動している
    • ビルドが終わったら自動でシャットダウン。
  • 月に500円程度のコストが発生している

TODO

  • 誰でも環境をプロビジョニング出来るようにする
  • 既に PEAR も deprecated になっているので、インストール方法を更新する
  • build.chms.bat が未更新なので AWS 環境に追随する形で更新する

chm のビルドバッチ タスクマネージャー設定

screenshot-1528749835 screenshot-1528749926 screenshot-1528749943 screenshot-1528749960 screenshot-1528749981

ライセンス

この文書は、パブリックドメインに置かれています。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment