次のページから、 [[BugTrack2/353]] で提案中のPHP5.4対応版をダウンロードできます。 - [[sourceforge.jp/users/umorigu/pf/pukiwiki15/files/>cvs:../../../../../users/umorigu/pf/pukiwiki15/files/#]] -- pukiwiki-1_5_0_eucjp.bt2353_proposal.zip : EUC_JP版 -- pukiwiki-1_5_0_utf8.bt2353_proposal.zip : UTF8版 以下、既に稼働している PukiWiki 1.4.7 利用サイトを PHP 5.4 対応にする手順の説明です。この操作を「PHP5.4対応パッチを当てる」と呼びます。 patchコマンドを使うことにより、PukiWikiをカスタマイズしていても、PHP5.4対応にすることができます。 #contents * 前提 [#pcb4fdfa] - Linux など Unix 系サーバーでPukiWikiを動作させており、ファイルの変更は Windows 上で行う。 -- Linux の Shell が使える場合は、バックアップ後に直接 patch -p1 コマンドを当てることができます。 * PHP5.4対応パッチを当てる手順 [#pf8d1bf4] ** 準備 [#aa012993] - サイトの全データ・ファイルをバックアップしておく。 -- パッチ当てがうまくいかなかった場合に元に戻すため - PukiWiki の文字コードが UTF-8 であるか EUC_JP であるか確認する。 -- UTF-8 と EUC_JP の場合で、当てるパッチファイルが異なります。 ** インストールしておくもの [#i9df917b] - 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 対応にする方法 [#c7f892cd] - (1) 動作しているディレクトリから以下のファイル・ディレクトリをダウンロードしてくる。 -- ルートにあるファイルすべて (inddex.php, INSTALL.txt など) -- skin/ ディレクトリ -- lib/ ディレクトリ -- plgins/ ディレクトリ - (2) [[sourceforge.jp/users/umorigu/pf/pukiwiki15/files/>cvs:../../../../../users/umorigu/pf/pukiwiki15/files/#]] から pw_147to150_utf8.patch をダウンロードする。 - (3) Git Bash を起動し、以下のように patch コマンドを実行する。 umorigu@UMORIGUPC ~/Documents/pw/pwc/packages $ cd my_pukiwiki_files_utf8/ umorigu@UMORIGUPC ~/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@UMORIGUPC ~/Documents/pw/pwc/packages/my_pukiwiki_files_eucjp $ - (4) 動作確認を行う。 - (5) 稼働中サーバーに上書きアップロードする。 ** EUC_JP 版 r1.4.7 の PukiWiki サイトを PHP 5.4 対応にする方法 [#o04250f0] - (1) 動作しているディレクトリから以下のファイル・ディレクトリをダウンロードしてくる。 -- ルートにあるファイルすべて (inddex.php, INSTALL.txt など) -- skin/ ディレクトリ -- lib/ ディレクトリ -- plgins/ ディレクトリ - (2) [[sourceforge.jp/users/umorigu/pf/pukiwiki15/files/>cvs:../../../../../users/umorigu/pf/pukiwiki15/files/#]] から pw_147to150_eucjp.patch をダウンロードする。 - (3) Git Bash を起動し、以下のように patch コマンドを実行する。 umorigu@UMORIGUPC ~/Documents/pw/pwc/packages $ cd my_pukiwiki_files_eucjp/ umorigu@UMORIGUPC ~/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@UMORIGUPC ~/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' - (4) 動作確認を行う。 - (5) 稼働中サーバーに上書きアップロードする。 ** コンフリクトしたとき [#cba48f55] PukiWiki自体をカスタマイズして運用している場合、一部のパッチ当てに失敗することがあります。(コンフリクト) patch コマンドの出力をチェックし、パッチ当てに失敗した個所では手動で編集を行います。