''[[開発日記/2014-07-14]] にて 公式に PHP5.4 対応した r1.5.0 が準備されています。緊急でない場合は 公式版リリースをお待ちください。'' -''[[開発日記/2014-07-19]] にて PHP5.4 対応した r1.5.0 が公式リリースされました。 -> [[official:PukiWiki/Download/1.5.0]]'' -''[[開発日記/2014-07-14]] にて 公式に PHP5.4 対応した r1.5.0 が準備されています。緊急でない場合は 公式版リリースをお待ちください。'' ---- 次のページから、 [[BugTrack2/353]] で提案中のPHP5.4対応版をダウンロードできます。 - [[sourceforge.jp/users/umorigu/pf/pukiwiki15/files/>cvs:../../../../../users/umorigu/pf/pukiwiki15/files/#]] -- pukiwiki-1_5_0_utf8-rev3.bt2353_proposal.zip : UTF-8版 -- pukiwiki-1_5_0_eucjp-rev3.bt2353_proposal.zip : EUC_JP版 (※2014/07/12 -rev3 に更新 [[#xd058eea]] ) 以下、既に稼働している 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 及び 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 対応にする方法 [#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 及び 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) 稼働中サーバーに上書きアップロードする。 ** コンフリクトしたとき [#cba48f55] ベースとなるバージョンが1.4.7でなかったりPukiWiki自体をカスタマイズして運用していたりする場合、上記の手順では一部または全てのパッチ当てに失敗することがあります。(コンフリクト) patch コマンドの出力をチェックし、パッチ当てに失敗した個所では手動で編集を行います。 手動で編集するには、以下のような方法などがあります。 -ベースとなるバージョンのクリーンな状態と現時点の差分を記録しておき、別の場所にクリーンな状態で→1.4.7→PHP5.4対応版とパッチを適用した環境を用意してから、先に記録しておいた差分より必要な部分をサルベージする ** Gitを利用して安全にパッチを当てる [#a5497de5] (Coming soon) * このページの変更履歴 [#xd058eea] - 2014/07/08 日本語ファイル名に対応した rev2 版に更新 -- 差分は pw_147to150-rev2_utf8.patch , pw_147to150-rev2_eucjp.patch です。 -- [[sourceforge.jp/users/umorigu/pf/pukiwiki15/scm/commits?branch=branch_r1_5>cvs:../../../../../users/umorigu/pf/pukiwiki15/scm/commits?branch=branch_r1_5#]] -- [[BugTrack2/354]] 添付ファイルダウンロードで日本語ファイル名が文字化けする - 2014/07/12 refプラグインの日本語ファイル名に対応した rev3 版に更新 * コメント [#t3d7c52a] ---- - PHP5.5+EUC_JP版で日本語ファイル名のファイルをダウンロード時、ファイル名が文字化けするケースがあるようです。→ *rev3* で修正済み -- [[umorigu]] &new{2014-07-08 (火) 02:20:28}; #comment //#comment