次のページから、 BugTrack2/353 で提案中のPHP5.4対応版をダウンロードできます。

(※2014/07/12 -rev3 に更新 #xd058eea )

以下、既に稼働している PukiWiki 1.4.7 利用サイトを PHP 5.4 対応にする手順の説明です。この操作を「PHP5.4対応パッチを当てる」と呼びます。

patchコマンドを使うことにより、PukiWikiをカスタマイズしていても、PHP5.4対応にすることができます。

前提

  • Linux など Unix 系サーバーでPukiWikiを動作させており、ファイルの変更は Windows 上で行う。
    • Linux の Shell が使える場合は、バックアップ後に直接 patch -p1 コマンドでパッチを当てることができます。

PHP5.4対応パッチを当てる手順

準備

  • サイトの全データ・ファイルをバックアップしておく。
    • パッチ当てがうまくいかなかった場合に元に戻すため
  • PukiWiki の文字コードが UTF-8 であるか EUC_JP であるか確認する。
    • UTF-8 と EUC_JP の場合で、当てるパッチファイルが異なります。

インストールしておくもの

  • Git for Windows
    • URL: git-scm.com から 'Download for Windows' をクリックしてダウンロード・インストール
  • TortoiseGit
    • URL: code.google.com/p/tortoisegit/ から 'Download and Install' など

UTF-8 版 r1.4.7 のサイトを PHP5.4 対応にする方法

  • (1) 動作しているディレクトリから以下のファイル・ディレクトリをダウンロードしてくる。
    • ルートにあるファイルすべて (inddex.php, INSTALL.txt など)
    • skin/ ディレクトリ
    • lib/ ディレクトリ
    • plgins/ ディレクトリ
  • (2) sourceforge.jp/users/umorigu/pf/pukiwiki15/files/ から pw_147to150_utf8.patch 及び pw_147to150-rev2_utf8.patch , pw_147to150-rev3_utf8.patch をダウンロードする。
  • (3) Git Bash を起動し、以下のように patch コマンドを実行する。
    $ patch -p1 < ../pw_147to150_utf8.patch
    $ patch -p1 < ../pw_147to150-rev2_utf8.patch
    $ patch -p1 < ../pw_147to150-rev3_utf8.patch

実行例:

umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages
$ cd my_pukiwiki_files_utf8/

umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages/my_pukiwiki_files_utf8
$ patch -p1 < ../pw_147to150_utf8.patch
patching file `INSTALL.txt'
patching file `README.txt'
patching file `lib/auth.php'
patching file `lib/backup.php'
patching file `lib/convert_html.php'
patching file `lib/diff.php'
patching file `lib/file.php'
patching file `lib/func.php'
patching file `lib/html.php'
patching file `lib/init.php'
patching file `lib/link.php'
patching file `lib/make_link.php'
patching file `lib/plugin.php'
patching file `lib/pukiwiki.php'
patching file `plugin/amazon.inc.php'
patching file `plugin/aname.inc.php'
patching file `plugin/article.inc.php'
patching file `plugin/attach.inc.php'
patching file `plugin/back.inc.php'
patching file `plugin/backup.inc.php'
patching file `plugin/bugtrack.inc.php'
patching file `plugin/calendar.inc.php'
patching file `plugin/calendar2.inc.php'
patching file `plugin/calendar_viewer.inc.php'
patching file `plugin/color.inc.php'
patching file `plugin/comment.inc.php'
patching file `plugin/diff.inc.php'
patching file `plugin/edit.inc.php'
patching file `plugin/freeze.inc.php'
patching file `plugin/include.inc.php'
patching file `plugin/includesubmenu.inc.php'
patching file `plugin/insert.inc.php'
patching file `plugin/interwiki.inc.php'
patching file `plugin/lookup.inc.php'
patching file `plugin/ls2.inc.php'
patching file `plugin/map.inc.php'
patching file `plugin/md5.inc.php'
patching file `plugin/memo.inc.php'
patching file `plugin/menu.inc.php'
patching file `plugin/navi.inc.php'
patching file `plugin/new.inc.php'
patching file `plugin/newpage.inc.php'
patching file `plugin/online.inc.php'
patching file `plugin/paint.inc.php'
patching file `plugin/pcomment.inc.php'
patching file `plugin/popular.inc.php'
patching file `plugin/random.inc.php'
patching file `plugin/read.inc.php'
patching file `plugin/recent.inc.php'
patching file `plugin/ref.inc.php'
patching file `plugin/referer.inc.php'
patching file `plugin/related.inc.php'
patching file `plugin/rename.inc.php'
patching file `plugin/ruby.inc.php'
patching file `plugin/search.inc.php'
patching file `plugin/setlinebreak.inc.php'
patching file `plugin/showrss.inc.php'
patching file `plugin/source.inc.php'
patching file `plugin/stationary.inc.php'
patching file `plugin/template.inc.php'
patching file `plugin/topicpath.inc.php'
patching file `plugin/tracker.inc.php'
patching file `plugin/unfreeze.inc.php'
patching file `plugin/versionlist.inc.php'
patching file `plugin/vote.inc.php'
patching file `plugin/yetlist.inc.php'
patching file `skin/tdiary.skin.php'

umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages/my_pukiwiki_files_eucjp
$ patch -p1 < ../pw_147to150-rev2_utf8.patch
patching file `plugin/attach.inc.php'

umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages/my_pukiwiki_files_eucjp
$ patch -p1 < ../pw_147to150-rev3_utf8.patch
patching file `plugin/ref.inc.php'

umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages/my_pukiwiki_files_eucjp
$
  • (4) 動作確認を行う。
  • (5) 稼働中サーバーに上書きアップロードする。

EUC_JP 版 r1.4.7 の PukiWiki サイトを PHP 5.4 対応にする方法

  • (1) 動作しているディレクトリから以下のファイル・ディレクトリをダウンロードしてくる。
    • ルートにあるファイルすべて (inddex.php, INSTALL.txt など)
    • skin/ ディレクトリ
    • lib/ ディレクトリ
    • plgins/ ディレクトリ
  • (2) sourceforge.jp/users/umorigu/pf/pukiwiki15/files/ から pw_147to150_eucjp.patch 及び pw_147to150-rev2_eucjp.patch , pw_147to150-rev3_eucjp.patch をダウンロードする。
  • (3) Git Bash を起動し、以下のように patch コマンドを実行する。
    $ patch -p1 < ../pw_147to150_eucjp.patch
    $ patch -p1 < ../pw_147to150-rev2_eucjp.patch
    $ patch -p1 < ../pw_147to150-rev3_eucjp.patch

実行例:

umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages
$ cd my_pukiwiki_files_eucjp/

umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages/my_pukiwiki_files_eucjp
$ ls
COPYING.txt          attach           en.lng.php      plugin
INSTALL.txt          backup           image           pukiwiki.ini.php
README.en.txt.zip    cache            index.php       rules.ini.php
README.txt           counter          ja.lng.php      skin
UPDATING.en.txt.zip  default.ini.php  keitai.ini.php  trackback
UPDATING.txt         diff             lib             wiki


umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages/my_pukiwiki_files_eucjp
$ patch -p1 < ../pw_147to150_eucjp.patch
patching file `INSTALL.txt'
patching file `README.txt'
patching file `lib/auth.php'
patching file `lib/backup.php'
patching file `lib/convert_html.php'
patching file `lib/diff.php'
patching file `lib/file.php'
patching file `lib/func.php'
patching file `lib/html.php'
patching file `lib/init.php'
patching file `lib/link.php'
patching file `lib/make_link.php'
patching file `lib/plugin.php'
patching file `lib/pukiwiki.php'
patching file `plugin/amazon.inc.php'
patching file `plugin/aname.inc.php'
patching file `plugin/article.inc.php'
patching file `plugin/attach.inc.php'
patching file `plugin/back.inc.php'
patching file `plugin/backup.inc.php'
patching file `plugin/bugtrack.inc.php'
patching file `plugin/calendar.inc.php'
patching file `plugin/calendar2.inc.php'
patching file `plugin/calendar_viewer.inc.php'
patching file `plugin/color.inc.php'
patching file `plugin/comment.inc.php'
patching file `plugin/diff.inc.php'
patching file `plugin/edit.inc.php'
patching file `plugin/freeze.inc.php'
patching file `plugin/include.inc.php'
patching file `plugin/includesubmenu.inc.php'
patching file `plugin/insert.inc.php'
patching file `plugin/interwiki.inc.php'
patching file `plugin/lookup.inc.php'
patching file `plugin/ls2.inc.php'
patching file `plugin/map.inc.php'
patching file `plugin/md5.inc.php'
patching file `plugin/memo.inc.php'
patching file `plugin/menu.inc.php'
patching file `plugin/navi.inc.php'
patching file `plugin/new.inc.php'
patching file `plugin/newpage.inc.php'
patching file `plugin/online.inc.php'
patching file `plugin/paint.inc.php'
patching file `plugin/pcomment.inc.php'
patching file `plugin/popular.inc.php'
patching file `plugin/random.inc.php'
patching file `plugin/read.inc.php'
patching file `plugin/recent.inc.php'
patching file `plugin/ref.inc.php'
patching file `plugin/referer.inc.php'
patching file `plugin/related.inc.php'
patching file `plugin/rename.inc.php'
patching file `plugin/ruby.inc.php'
patching file `plugin/search.inc.php'
patching file `plugin/setlinebreak.inc.php'
patching file `plugin/showrss.inc.php'
patching file `plugin/source.inc.php'
patching file `plugin/stationary.inc.php'
patching file `plugin/template.inc.php'
patching file `plugin/topicpath.inc.php'
patching file `plugin/tracker.inc.php'
patching file `plugin/unfreeze.inc.php'
patching file `plugin/versionlist.inc.php'
patching file `plugin/vote.inc.php'
patching file `plugin/yetlist.inc.php'
patching file `skin/tdiary.skin.php'

umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages/my_pukiwiki_files_eucjp
$ patch -p1 < ../pw_147to150-rev2_utf8.patch
patching file `plugin/attach.inc.php'

umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages/my_pukiwiki_files_eucjp
$ patch -p1 < ../pw_147to150-rev3_utf8.patch
patching file `plugin/ref.inc.php'
  • (4) 動作確認を行う。
  • (5) 稼働中サーバーに上書きアップロードする。

コンフリクトしたとき

ベースとなるバージョンが1.4.7でなかったりPukiWiki自体をカスタマイズして運用していたりする場合、上記の手順では一部または全てのパッチ当てに失敗することがあります。(コンフリクト)

patch コマンドの出力をチェックし、パッチ当てに失敗した個所では手動で編集を行います。

手動で編集するには、以下のような方法などがあります。

  • ベースとなるバージョンのクリーンな状態と現時点の差分を記録しておき、別の場所にクリーンな状態で→1.4.7→PHP5.4対応版とパッチを適用した環境を用意してから、先に記録しておいた差分より必要な部分をサルベージする

Gitを利用して安全にパッチを当てる

(Coming soon)

このページの変更履歴

コメント


  • PHP5.5+EUC_JP版で日本語ファイル名のファイルをダウンロード時、ファイル名が文字化けするケースがあるようです。→ *rev3* で修正済み -- umorigu 2014-07-08 (火) 02:20:28

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-08-12 (火) 22:00:41
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.195 sec.

OSDN